读取 xml 文件 .findall() "trajectory"



我试图在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((部分遇到了一些麻烦。

有谁知道如何阅读这些值中的任何一个?

谢谢,如果有人能帮助我,我将不胜感激

在我看来,问题在于point不是一个xml属性,而是一个标签。它的属性是yxvyvx据我所知,这就是您试图访问的内容。所以我相信你的代码应该或多或少地看起来:

for p in tree.findall(".//trajectory/point"):
x = p.attrib['x'] 
y = p.attrib['y']
vx = p.attrib['vx']
vy = p.attrib['vy']

最新更新