美文网首页
python对xml的操作

python对xml的操作

作者: SeekLife0 | 来源:发表于2021-09-14 17:54 被阅读0次

环境:win10,python2.7.15

举例一:

<?xml version="1.0" encoding="utf-8"?>
<content>
    <entries>
        <entry ID="01">1111</entry>
    </entries>
</content>

1、python对xml的写操作

# 1. 创建dom树对象
domTree = minidom.Document()
# 创建根节点并添加到dom树
rootNode = domTree.createElement('content')
domTree.appendChild(rootNode)
# 创建entries节点
entries_node = domTree.createElement('entries')
# 新建一个entry节点
entry_node = domTree.createElement("entry")
# 设置属性
entry_node.setAttribute("ID", "01")
# 创建文本节点
entry_text_value = domTree.createTextNode("1111")  
# 把文本节点挂载到entry节点
entry_node.appendChild(entry_text_value)
# 把子节点放入到父节点
entries_node.appendChild(entry_node)
# 把创建号的节点写入到文件
with open(fileName, 'wb') as f:
# 缩进 - 换行 - 编码
# indent='', addindent='\t',newl ='\n'
domTree.writexml(f, addindent='\t', newl='\n', encoding="utf-8")

2、python对xml的读操作

# 得到domTree对象
domTree = parse(u'data.xml')
# 文档根元素
rootNode = domTree.documentElement
# 获取所有entry
entries = rootNode.getElementsByTagName("entry")
# 遍历所有entry
for entry in entries:
  # 获取属性
  attr = entry.getAttribute("ID")
  # 获取entry文本内容
  text = entry.firstChild

举例二:

<?xml version="1.0" encoding="utf-8"?>
<content>
    <entries>
        <entry ID="1">
            <username>xiaoming</username>
            <password>123456</password>
        </entry>
    </entries>
</content>

1、python对xml写操作

基本同上

2、python对xml读操作

# 得到domTree对象
domTree = parse(u'data.xml')
# 文档根元素
rootNode = domTree.documentElement
# 获取所有entry
entries = rootNode.getElementsByTagName("entry")
# 遍历所有entry
for entry in entries:
  # 获取username的文本
  uname = entry.getElementsByTagName("username")[0].firstChild.data
  # 获取password的文本
  password = entry.getElementsByTagName("password")[0].firstChild.data

相关文章

网友评论

      本文标题:python对xml的操作

      本文链接:https://www.haomeiwen.com/subject/fjvcgltx.html