使用工具包xml
解析,python自带的工具,可以直接使用,使用示例如下:
文章目录
- 简单案例
- nodeType对应数字及其含义
简单案例
<?xml version="1.0" encoding="utf-8"?>
<user>
<name age="12">小明</name>
<name age="21">小红</name>
</user>
解析方法:
from xml.dom import minidom
def main():
file_name = "file.xml"
document = minidom.parse(open(file_name, 'r'))
user_document = document.getElementsByTagName("user")[0] # 解析到user标签下
for name_doc in user_document.getElementsByTagName("name"):
print("当前标签名称:", name_doc.nodeName) # 获得标签名
print("标签值", name_doc.firstChild.data) # 获得标签包裹的值
print("属性值", name_doc.getAttribute("age")) # 获得属性值
print("节点类型", name_doc.nodeType) # 节点类型,这是一个整数值,用来表示不同的类型
if __name__ == '__main__':
main()
得到结果:
当前标签名称: name
标签值 小明
属性值 12
节点类型 1
当前标签名称: name
标签值 小红
属性值 21
节点类型 1
nodeType对应数字及其含义
类型(数字) | 含义 |
---|---|
1 | ELEMENT_NODE |
2 | ATTRIBUTE_NODE |
3 | TEXT_NODE |
4 | CDATA_SECTION_NODE |
5 | ENTITY_REFERENCE_NODE |
6 | ENTITY_NODE |
7 | PROCESSING_INSTRUCTION_NODE |
8 | COMMENT_NODE |
9 | DOCUMENT_NODE |
10 | DOCUMENT_TYPE_NODE |
11 | DOCUMENT_FRAGMENT_NODE |
12 | NOTATION_NODE |