etree.ElementTree包解析我的xml文件,但似乎没有这样做。
我的xml文件层次结构如下: 根 < - > 配置数据 <> 源文件 < - > file object1 object2 ... etc。
当我使用print self.xml_root.findall(“。\ config”)时,我只得到“[]”,这是一个空列表, 感谢
答案 0 :(得分:2)
如果字符串中确实有'.\config'
,那就是问题所在。这是一个字符串文字,使用\c
作为其中一个字符。即使您有'.\\config'
或r'.\config'
,两者都指定了字面反斜杠,但仍然是错误的:
$ cat eleme.py
import xml.etree.ElementTree as ET
root = ET.fromstring("""
<root>
<config>
source
</config>
<config>
source
</config>
</root>""")
print r'using .\config', root.findall('.\config')
print r'using .\\config', root.findall('.\\config')
print 'using ./config', root.findall('./config')
$ python2.7 eleme.py
using .\config []
using .\\config []
using ./config [<Element 'config' at 0x8017a8610>, <Element 'config' at 0x8017a8650>]