我有一个格式良好的XML,代码如下:
<fxp-connector name="streaming" host="&fxvmnsrv.host;" port="&fxvmnsrv.port;" mode="INITIATOR">
<message type="1" .../>
....
</fxp-connector>
.....
我正在解析它:
import lxml.etree as ET
parser = ET.XMLParser(resolve_entities=False)
tree = ET.parse(inCfgFileName, parser)
....
outFile = open(outCfgFileName, "w")
......
e = tree.findall('fxp-connector[@name="streaming"]')
.....
tree.write(outFile)
在该行的输出中:
&fxvmnsrv.host;&fxvmnsrv.port;<fxp-connector name="streaming" host="" port="" mode="INITIATOR">
...
print e[0]
打印<message .../>
标记
如何访问这些实体引用?我试了几件事,但到目前为止没有运气。
答案 0 :(得分:0)
找到他们。它们被插入根目录,即与它前面的<fxp-connector>
处于同一级别。
for i in range(20):
print i, root[i]
产生
9 &fxvmnsrv.host;
10 &fxvmnsrv.port;
11 <Element fxp-connector at 0xffffffff7b7386c8> #this is the <fxp-connector tag>