怎么在Python中利用dom对xml数据进行操作

怎么在Python中利用dom对xml数据进行操作?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1、xml的内容为del.xml,如下

<?xmlversion="1.0"encoding="utf-8"?>
<catalog>
<maxid>4</maxid>
<loginusername="pytest"passwd='123456'>
<caption>Python</caption>
<itemid="4">
<caption>test</caption>
</item>
</login>
<itemid="2">
<caption>Zope</caption>
</item>
</catalog>

2、python的代码如下

#-*-coding:utf-8-*-
#!python3
#1、获得标签属性
print("#1、获得标签属性")
importxml.dom.minidom
dom=xml.dom.minidom.parse("del.xml")#打开xml文档
root=dom.documentElement#得到xml文档
print("nodeName:",root.nodeName)#
print("nodeValue:",root.nodeValue)
print("nodeType:",root.nodeType)
print("ELEMENT_NODE:",root.ELEMENT_NODE)
#2、获得子标签
print("#2、获得子标签")
bb=root.getElementsByTagName('maxid')
print(type(bb))
print(bb)
b=bb[0]
print(b.nodeName)
print(b.nodeValue)
#3、获取标签属性值
print("#3、获取标签属性值")
itemlist=root.getElementsByTagName('login')
item=itemlist[0]
print(item.getAttribute("username"))
print(item.getAttribute("passwd"))
itemlist=root.getElementsByTagName('item')
item=itemlist[0]#通过在itemlist中的位置区分
print(item.getAttribute("id"))
item_1=itemlist[1]#通过在itemlist中的位置区分
print(item_1.getAttribute("id"))
#4、获得标签对之间的数据
print("#4、获得标签对之间的数据")
itemlist1=root.getElementsByTagName('caption')
item1=itemlist1[0]
print(item1.firstChild.data)
item2=itemlist1[1]
print(item2.firstChild.data)
#5总结
#minidom.parse(filename)
#加载读取XML文件
#
#doc.documentElement
#获取XML文档对象
#
#node.getAttribute(AttributeName)
#获取XML节点属性值
#
#node.getElementsByTagName(TagName)
#获取XML节点对象集合
#
#node.childNodes#返回子节点列表。
#
#node.childNodes[index].nodeValue
#获取XML节点值
#
#node.firstChild
##访问第一个节点。等价于pagexml.childNodes[0]

3、运行结果如下:

#1、获得标签属性nodeName: catalognodeValue: NonenodeType: 1ELEMENT_NODE: 1#2、获得子标签<class 'xml.dom.minicompat.NodeList'>[<DOM Element: maxid at 0x1dad800>]maxidNone#3、获取标签属性值pytest12345642#4、获得标签对之间的数据Pythontest

运行结果截图:

怎么在Python中利用dom对xml数据进行操作

关于怎么在Python中利用dom对xml数据进行操作问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注恰卡编程网行业资讯频道了解更多相关知识。

发布于 2021-04-08 13:38:56
收藏
分享
海报
0 条评论
172
上一篇:如何在Node.js中引入UIBootstrap 下一篇:使用Vue2x怎么实现一个图片预览插件
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码