【发布时间】:2013-02-15 18:33:26
【问题描述】:
编辑:
谢谢你们,我完全忘记了 for 语句末尾的 :。此外,对于带有空格的原始标签,我只是将其用作填充文本!实际名称确实有 aword_anotherword 作为元素标签
如果我有这样的东西,
<TIER name="a">
<tier_1>
<tier_2>
<tier_3> a1</tier_3>
</tier_2>
</tier_1>
<tier_1>
<tier_2>
<tier_3> a2</tier_3>
</tier_2>
</tier_1>
<tier_1>
<tier_2>
<tier_3> a3</tier_3>
</tier_2>
</tier_1>
</TIER>
<TIER name="b">
<tier_1>
<tier_2>
<tier_3> b1</tier_3>
</tier_2>
</tier_1>
<tier_1>
<tier_2>
<tier_3> b2</tier_3>
</tier_2>
</tier_1>
<tier_1>
<tier_2>
<tier_3> b3</tier_3>
</tier_2>
</tier_1>
</TIER>
我将如何使用 name="a" 仅从第一层打印 tier_3 ?
我有一个类似这样的 xml 表
<ALL TIERS>
<tier 1>
<tier 2>
<tier 3> Hello one!</tier3>
</tier 2>
</tier 1>
<tier 1>
<tier 2>
<tier 3> Hello two!</tier3>
</tier 2>
</tier 1>
<tier 1>
<tier 2>
<tier 3> Hello three!</tier3>
</tier 2>
</tier 1>
</ALL TIERS>
我想打印第 3 层的文本节点值,使用 python 所以结果是这样的
你好!两位好!你好三!
这是我写的:
from xml.dom import minidom
xmldoc = minidom.parse(sys.argv[1])
xlist = xmldoc.getElementsByTagName('tier 3')
for i in xlist
print " ".join(t.nodeValue for t in i.childNodes if t.nodeType==t.TEXT_NODE)
但这给了我一个指向“for i in xlist”的无效语法错误
有人可以帮我纠正这个问题吗? 谢谢!
【问题讨论】:
-
for i in xlist应该是for i in xlist:请务必主动查看 Python 文档。它真的很棒,很多优秀的人为你付出了很多努力。 -
天哪,我完全忘记了...谢谢!我会阅读更多内容!
-
这不是有效的 XML:
<ALL TIERS>这真的是您的文档吗?