我试图在xml文件中获取值。
这是我的xml文件的一个示例:
<trajectories uid="171126T104028_0_0000314183_34" max_width_for_not_hidden="999.00">
<images>
<image shoot_id="1" key_dtn_trigger="xxxx" image_id="x">
<point y="y" x="x" vy="x" vx="x"/>
</image>
</images>
<trajectory uid="171126T104028_0_0000314183_34">
<point y="i want this" x="and this" vy="and this as well" vx="still this"/>
</trajectory>
</trajectories>
我目前的代码是:
tree = ET.parse("trajectories/test.xml")
root = tree.getroot()
for traj in tree.findall("./trajectories/trajectory"):
y = traj.attrib('point')
print(y)
我在tree.findall()部分遇到了一些麻烦。
有人知道如何读取这些值中的任何一个吗?
谢谢,如果有人可以帮助我,我将非常感谢
答案 0 :(得分:1)
我认为问题在于point
不是xml 属性,而是标签。它的属性是y
,x
,vy
和vx
,据我从注释中了解,这就是您要尝试访问的内容。因此,我相信您的代码应该看起来或多或少:
for p in tree.findall(".//trajectory/point"):
x = p.attrib['x']
y = p.attrib['y']
vx = p.attrib['vx']
vy = p.attrib['vy']