python - 使用Python中根节点的小写属性抛出的ElementTree进行XML解析
问题描述
我正在尝试使用 ElementTree 库在 python 中解析 XML 文档,但是我有一个以小写字母开头的属性这一事实使解析失败。这是根节点:
<Page xmlns="http://<some url>/AS/VC/Project" Name="Init_Page">
这是我实现代码的方式:
import xml.etree.ElementTree as ET
tree = ET.parse('C:\Temp\Init_Page.page') #Init_Page.page is an xml file with UTF-8 encoding
root = tree.getroot()
print(root.tag)
#Outputs {http://<some url>/AS/VC/Project}Page
这显然不是我想要的,因为我只想让它打印“页面”。而且由于它打印该根标签的方式,如果我root.iter()
为某个标签打印,则不会打印任何内容。但是,当我将“xmlns”属性更改为“Xmlns”时,它会为根标记打印“Page”。并且子节点的任何迭代都可以正常工作。
我尝试将 xml 转换为小写字符串并使用fromstring()
,但我仍然得到相同的结果。
有没有办法解决?我正在使用 python 版本 3.7.4。
任何帮助将不胜感激,因为我对 python 相当陌生!
解决方案
推荐阅读
- c# - 用户未处理参数超出范围异常
- php - 使用 php 添加和更新表
- r - 用于不同几何形状的两种色标
- python - 从还提到卧室数量的字符串中提取平方米的最佳方法是什么?
- javascript - 在 MongoDB 中如何知道它是否是集合的最后一条记录?
- react-native - 在 react-native 中使用 FlatList 时数据未呈现
- mysql - MYSQL索引rownum倒序
- javascript - Three.js OnDocumentMouseDown 不支持触摸屏?
- python - 如何制作具有透明面和不透明边缘的 bar3d 图?
- c++ - 如何使用 cmake 和 Visual Studio 2019 编译简单的 windows 应用程序?