我目前正在使用 py-dom-xpath在 Debian 4.1.1-21 下使用 python 2.7.2。
一切都很好,而不是一个 XML 元素。
每当我尝试检查 XML 文档的 xpath 时,如 //AAA/BBB/CCC-DDD
找不到路径。它是唯一带有破折号 -
的节点。我已经尝试过逃避破折号,但那没有用。
我还尝试了 //*[name()='CCC-DDD']
和 starts-with
和 contains
语句。该元素肯定在 XML 中,拼写也正确。
我尝试了 online xpath validation site ,即使有破折号,它也能完美地工作。
感谢任何帮助。
最佳答案
正在使用 lxml一个选项? XPath 中的破折号在那里工作得很好:
import lxml.etree as ET
content = '''<root><AAA><BBB><CCC-DDD>xyz</CCC-DDD></BBB></AAA></root>'''
doc = ET.fromstring(content)
print(doc.xpath('//AAA/BBB/CCC-DDD'))
产量
[<Element CCC-DDD at 0xb746f504>]
关于python - 在 xpath 中使用破折号在 py-dom-xpath 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9277270/