【发布时间】:2015-09-09 02:14:02
【问题描述】:
在解析 xml 输出时需要帮助。我已经从 python docs 尝试了以下示例,但没有成功。还尝试了 xmltodict 。没有帮助。 有人可以帮忙吗。我似乎在这里遗漏了一些非常基本的东西。
>>> import xml.etree.ElementTree as ET
>>> ET.fromstring(out)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/auto/pysw/cel55/python/3.4.1/lib/python3.4/xml/etree/ElementTree.py", line 1325, in XML
parser.feed(text)
xml.etree.ElementTree.ParseError: XML or text declaration not at start of entity: line 2, column 0
>>>
>>>
out = '''
<?xml version="1.0" encoding="ISO-8859-1"?>
<nf:rpc-reply xmlns:nf="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns="http://w
ww.cisco.com/nxos:7.2.0.D1.1.:ngoamal">
<nf:data>
<show>
<ngoam>
<probe>
<statistics>
<summary>
<__readonly__>
<TABLE_summary>
<ROW_summary>
<last-clear-summary-stats>Tue Sep 08 11:55:52.662 PDT</last-clear-summ
ary-stats>
<tx>1001</tx>
<rx>1</rx>
<timeout>0</timeout>
<unsent>0</unsent>
<resp-tx>0</resp-tx>
<resp-rx>0</resp-rx>
<resp-unsent>0</resp-unsent>
</ROW_summary>
</TABLE_summary>
</__readonly__>
</summary>
</statistics>
</probe>
</ngoam>
</show>
</nf:data>
</nf:rpc-reply>
]]>]]>
'''
谢谢, 马亨德拉
我根据建议更改了xml结构,但仍有问题。
下面是输出。
打印(输出)
<?xml version="1.0" encoding="ISO-8859-1"?>
<nf:rpc-reply xmlns:nf="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns="http://www.cisco.com/nxos:7.2.0.D1.1.:ngoamal">
<nf:data>
<show>
<ngoam>
<probe>
<statistics>
<summary>
<__readonly__>
<TABLE_summary>
<ROW_summary>
<last-clear-summary-stats>Tue Sep 08 11:55:52.662 PDT</last-clear-summary-stats>
<tx>1001</tx>
<rx>1</rx>
<timeout>0</timeout>
<unsent>0</unsent>
<resp-tx>0</resp-tx>
<resp-rx>0</resp-rx>
<resp-unsent>0</resp-unsent>
</ROW_summary>
</TABLE_summary>
</__readonly__>
</summary>
</statistics>
</probe>
</ngoam>
</show>
</nf:data>
</nf:rpc-reply>
t = ET.fromstring(out) 回溯(最近一次通话最后): 文件“”,第 1 行,在 文件“/auto/pysw/cel55/python/3.4.1/lib/python3.4/xml/etree/ElementTree.py”,第 1325 行,采用 XML parser.feed(文本) xml.etree.ElementTree.ParseError:XML 或文本声明不在实体开头:第 2 行,第 0 列
【问题讨论】:
-
我们可以查看代码以及您的错误和数据吗?
-
删除三引号文本的最后一行(即
]]>]]>。它不属于其余部分。