以下是使用Python生成XML的方法实例的完整攻略。
什么是XML
XML(Extensible Markup Language)是一种被广泛应用的标记语言,用于描述数据,并且易于解析和传输。XML格式适用于描述网络数据与文档。XML由标记、内容、属性等组成,标签是XML的最基本的概念之一。标签包含起始标签、结束标签和其内部的数据,内容不推荐超过一行,属性则是标签的额外信息,表述为key="value"的形式。
使用Python生成XML的方法
Python标准库xml.etree.ElementTree
提供了一些生成XML的工具,可以用于创建和操作XML文档,包括节点、元素、文本、注释、属性等等。具体使用方法如下。
导入xml.etree.ElementTree
import xml.etree.ElementTree as ET
创建根节点
root = ET.Element('students')
创建了一个名为students
的根节点。
创建子节点
student1 = ET.SubElement(root, 'student', name='John')
创建了一个名为student
的子节点,并拥有一个名为name
的属性,属性值为'John'
。
你也可以创建一个不带属性的子节点,如下所示。
student2 = ET.SubElement(root, 'student')
添加文本
student1.text = 'This is John'
添加了文本This is John
到student1
节点中。
生成XML文件
tree = ET.ElementTree(root)
tree.write('students.xml')
以上代码,将根据你创建的XML节点,生成一个XML文件。你可以指定路径来保存XML文件,如果你不填写路径,则默认在Python代码所在目录下生成文件。
示例1:生成商品清单
下面以生成商品清单为例。
import xml.etree.ElementTree as ET
# 创建根节点
root = ET.Element('goods')
# 描述商品1
goods1 = ET.SubElement(root, 'good', name='book')
ET.SubElement(goods1, 'price').text = '20'
ET.SubElement(goods1, 'description').text = 'The Art of Computer Programming'
# 描述商品2
goods2 = ET.SubElement(root, 'good', name='phone')
ET.SubElement(goods2, 'price').text = '4999'
ET.SubElement(goods2, 'description').text = 'iPhone X'
# 生成XML文件
tree = ET.ElementTree(root)
tree.write('goods.xml')
以上代码将生成一个名为goods.xml
的文件,内容如下。
<goods>
<good name="book">
<price>20</price>
<description>The Art of Computer Programming</description>
</good>
<good name="phone">
<price>4999</price>
<description>iPhone X</description>
</good>
</goods>
示例2:生成RSS订阅
下面以生成RSS订阅为例。
import xml.etree.ElementTree as ET
import datetime
# 创建根节点
root = ET.Element('rss', version='2.0')
channel = ET.SubElement(root, 'channel')
ET.SubElement(channel, 'title').text = 'News Feed'
ET.SubElement(channel, 'link').text = 'http://example.com/rss.xml'
ET.SubElement(channel, 'description').text = 'News Feed from Example'
# 描述条目1
item1 = ET.SubElement(channel, 'item')
ET.SubElement(item1, 'title').text = 'Big News Happened'
ET.SubElement(item1, 'link').text = 'http://example.com/big-news'
ET.SubElement(item1, 'description').text = 'Something big just happened!'
ET.SubElement(item1, 'pubDate').text = datetime.datetime.utcnow().strftime('%a, %d %b %Y %H:%M:%S GMT')
# 描述条目2
item2 = ET.SubElement(channel, 'item')
ET.SubElement(item2, 'title').text = 'More News You Care'
ET.SubElement(item2, 'link').text = 'http://example.com/more-news'
ET.SubElement(item2, 'description').text = 'This news will also interest you!'
ET.SubElement(item2, 'pubDate').text = datetime.datetime.utcnow().strftime('%a, %d %b %Y %H:%M:%S GMT')
# 生成XML文件
tree = ET.ElementTree(root)
tree.write('news_feed.xml')
以上代码将生成一个名为news_feed.xml
的文件,内容如下。
<rss version="2.0">
<channel>
<title>News Feed</title>
<link>http://example.com/rss.xml</link>
<description>News Feed from Example</description>
<item>
<title>Big News Happened</title>
<link>http://example.com/big-news</link>
<description>Something big just happened!</description>
<pubDate>Wed, 07 Jul 2021 02:19:47 GMT</pubDate>
</item>
<item>
<title>More News You Care</title>
<link>http://example.com/more-news</link>
<description>This news will also interest you!</description>
<pubDate>Wed, 07 Jul 2021 02:19:47 GMT</pubDate>
</item>
</channel>
</rss>
以上就是使用Python生成XML的方法实例的完整攻略,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Python生成XML的方法实例 - Python技术站