擅长:python、mysql、java
<p>您可以创建一个字典,将列名映射到提取相应值的xpath表达式,例如:</p>
<pre><code>xpath = {
"ID": "/Total/ID/text()",
"Check": "/Total/Response/Detail/Nix/Check/text()", # or "//Check/text()"
}
</code></pre>
<p>要填充表格行:</p>
^{pr2}$
<p>上面假设您使用支持完整xpath语法的<a href="http://lxml.de/xpathxslt.html" rel="nofollow">^{<cd1>}</a>。<a href="http://docs.python.org/library/xml.etree.elementtree.html" rel="nofollow">ElementTree supports only a subset of XPath expressions</a>但在您的情况下可能已经足够了(您可以删除“text()”表达式并在本例中使用<code>el.text</code>),例如:</p>
<pre><code>xpath = {
"ID": ".//ID",
"Check": ".//Check",
}
row = {name: tree.findtext(path) for name, path in xpath.items()}
</code></pre>
<p>要打印带有相应标记名的所有文本:</p>
<pre><code>import xml.etree.cElementTree as etree
for _, el in etree.iterparse("xxm.xml"):
if el.text and not el: # leaf element with text
print el.tag, el.text
</code></pre>
<p>如果列名与标记名不同(如您的情况),那么最后一个示例不足以构建表。在</p>