我的XML文件有这种形式:
<user name="John Doe" title="Manager">
This manager is responsible for...
<group title="USA">
<column name="Inventory">
Inventory of the products
</column>
<column name="Sells">
Sells of the products
</column>
</group>
</user>
用户和列可以一直打开,每个用户都可以有很多列。 我正在尝试使用ET或DOM来读取列名和行之间的描述。 使用ET,我能够读取所有标签,但不能读取标签之间的内容。例如,我无法阅读“产品的销售”
我确信这是一件简单的事情,但我是Python和整个XML主题的新手。我只能使用python 2.7。我的代码如下:
我的代码看起来像那样(它仍在进行中,但它还不完整):
with open(file.xml, 'rt') as f:
tree = ET.parse(f)
for node in tree.iter():
if node.tag == 'column':
print node
答案 0 :(得分:1)
我没有您的代码,因此无法看到您在做什么,但q.put("text")
应该会为您提供代码的文字。例如:
tag.text
答案 1 :(得分:0)
最后,我设法找出了整个代码,它对我有用。
for node in tree.iter():
if node.tag == 'user':
userName = node.attrib['name']
#print userName
for group in node.getchildren():
if group.tag == 'group':
groupName = group.attrib['title']
#print groupName
for column in group.getchildren():
if column.tag == 'column':
columnName = column.attrib['name']
columnDesc = column.text
#print columnName, column.text