XMl更多用于文件
XML
XML适合丰富的分层的文件
不在乎indent
XML Schema
目的:To establish a contract as to what is valid XML
XSD
有专门 validator来检查是否符合XSD标准
minOccurs和maxOccers限制出现次数
其中关于时间日期的格式
在python中parse XML的例子
用import xml.etree.ElementTree
先引入包
单个子节点:
import xml.etree.ElementTree as ET
data = '''
<person>
<name>Chuck</name>
<phone type="intl">
+1 734 303 4456
</phone>
<email hide="yes" />
</person>'''
tree = ET.fromstring(data) # 如果XML格式不合法,将会出现错误
print('Name:', tree.find('name').text) # 找到tag为name的text content
print('Attr:', tree.find('email').get('hide')) # 找到tag为email里的attribute内容
多个子节点:
import xml.etree.ElementTree as ET
input = '''
<stuff>
<users>
<user x="2">
<id>001</id>
<name>Chuck</name>
</user>
<user x="7">
<id>009</id>
<name>Brent</name>
</user>
</users>
</stuff>'''
stuff = ET.fromstring(input)
lst = stuff.findall('users/user'