etree returns 一个 "random" 字符串而不是属性名
Etree returns a "random" string instead of attribute name
我是 python 和树的新手,遇到了一些问题。
我的数据集结构如下:
<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns">
<node id="someNode">
<data key="label">someNode</data>
</node>
</graphml>
我想获取根元素和节点元素的属性和属性值。
我试过这样使用 Python xml.etree.ElementTree:
import xml.etree.ElementTree as etree
tree = etree.parse('myDataset')
root = tree.getroot()
print('Root: ', root)
print('Children: ', root.getchildren())
但这就是我得到的:
Root: <Element '{http://graphml.graphdrawing.org/xmlns}graphml' at 0x031DB5A0>
Children: [<Element '{http://graphml.graphdrawing.org/xmlns}key' at 0x03F9BFC0>
我也尝试了 .text 和 .tag,它们只删除了 "at 0x03..."。
希望问题是可以理解的并且有人知道解决方案。
如果您想将根节点和子节点输出为 xml 文本,而不是默认表示,请使用 xml.etree.ElementTree.tostring(root)
和
for child in root:
xml.etree.ElementTree.tostring(child)
官方文档在这里:https://docs.python.org/2/library/xml.etree.elementtree.html#xml.etree.ElementTree.tostring
如果你想要标签名称,请使用每个元素的 tag
属性:
print(root.tag)
for child in root:
print(child.tag)
描述可用属性的文档:https://docs.python.org/2/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element
我是 python 和树的新手,遇到了一些问题。
我的数据集结构如下:
<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns">
<node id="someNode">
<data key="label">someNode</data>
</node>
</graphml>
我想获取根元素和节点元素的属性和属性值。
我试过这样使用 Python xml.etree.ElementTree:
import xml.etree.ElementTree as etree
tree = etree.parse('myDataset')
root = tree.getroot()
print('Root: ', root)
print('Children: ', root.getchildren())
但这就是我得到的:
Root: <Element '{http://graphml.graphdrawing.org/xmlns}graphml' at 0x031DB5A0>
Children: [<Element '{http://graphml.graphdrawing.org/xmlns}key' at 0x03F9BFC0>
我也尝试了 .text 和 .tag,它们只删除了 "at 0x03..."。
希望问题是可以理解的并且有人知道解决方案。
如果您想将根节点和子节点输出为 xml 文本,而不是默认表示,请使用 xml.etree.ElementTree.tostring(root)
和
for child in root:
xml.etree.ElementTree.tostring(child)
官方文档在这里:https://docs.python.org/2/library/xml.etree.elementtree.html#xml.etree.ElementTree.tostring
如果你想要标签名称,请使用每个元素的 tag
属性:
print(root.tag)
for child in root:
print(child.tag)
描述可用属性的文档:https://docs.python.org/2/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element