我正在使用pythonelementtree/lxml(pydev)解析xml文件。在
编辑:完整的xml文件:
[https://pastebin.com/embed_js/Gbrv9wgG]
我正在尝试提取所有包含“ROTARY”作为注释关键字的信号名。XML文件包含更多的“PNIODEV”,包含或不包含“CHANNEL”子级。在
目前,我已经把所有的评论都打印出来了
import xml.etree.ElementTree as ET
tree=ET.parse('Project.xml')
root=tree.getroot()
for comments in root.iter('COMMENT')
print(comments.text)
我无法使用lxml或elementtree在所有评论中只搜索关键字“ROTARY”并打印相应的信号名称。 我使用了以下代码:
^{pr2}$没有得到任何输出。。。在
由于我对Python和XML还不熟悉,任何帮助都将不胜感激。在
只能使用Etree获取输出: 如本文所述(我建议您仔细阅读本文档)https://docs.python.org/2/library/xml.etree.elementtree.html:子节点是嵌套的,我们可以通过索引访问特定的子节点
所以,你可以这样做:
也可以使用
xml.etree.ElementTree
来解析XML
内容。在此代码将:
soup
<CHANNEL></CHANNEL>
标记<CHANNEL>
,它将在<COMMENT>
标记中搜索单词{'ROTARY'
,它将在<SIGNALNAME>
标记处打印值。在示例代码:
输出:
^{pr2}$编辑:
可以使用
try/except
语句绕过AttributeError
。在您的xml包含无效字符
&
,可以用&
替换它们。修复xml后,可以使用:
输出:
^{pr2}$相关问题 更多 >
编程相关推荐