- 帖子
- 59
- 精华
- 0
- 积分
- 244
- 阅读权限
- 30
- 注册时间
- 2015-10-25
- 最后登录
- 2023-10-29
|
我有一段非常简单的xml, 想尝试获得元素的属性值.
testing.xml代码如下:- <?xml version="1.0" encoding="UTF-8" ?>
- <catalog>
- <aa value="first">this is the 1st.</aa>
- <aa value="second">this is the 2nd.</aa>
- </catalog>
复制代码 用来解析的python代码如下, 我在其中做了结果标记:- from xml.dom import minidom
- with minidom.parse('c:/desktop/testing.xml') as dom:
- elements = dom.getElementsByTagName('aa')
- print(f'There are {len(elements)} items') # 这个能正确的获得元素的数量
- print(elements[1]) # 这个能打印类似这样的元素内存值: <DOM Element: aa at 0x2c864d264c0>
- print(elements[1].nodeType) # 这个结果是1, 应该是element node
- print(elements[1].toprettyxml(encoding='utf-8')) # 这个结果是b'<aa/>\n', 按理说是应该显示<aa value="second">this is the 2nd.</aa>
- print(elements[1].attributes['value'].value) # 这个提示是 error, KeyError 'value', 照理说应该是显示 second?
复制代码 我也查找了相关指引, 比如: https://stackoverflow.com/a/1912516/3127293, 我几乎是原样按照这里介绍的方式做的, 但是在我这里就是错误的.
我的环境是 windows + python3.9.10 + VScode
不知我的代码哪里出错了? 如何才能获得xml元素的某个属性的值呢?
|
|