以下点列表代表一个曲目
<Track_Vertices>
<Point1>36 35.58 N, 1 8.91 W</Point1>
<Point2>36 42.56 N, 0 56.27 W</Point2>
<Point3>36 40.91 N, 0 54.86 W</Point3>
<Point4>36 33.94 N, 1 7.5 W</Point4>
<Point5>36 32.29 N, 1 6.09 W</Point5>
<Point6>36 39.27 N, 0 53.45 W</Point6>
<Point7>36 37.62 N, 0 52.04 W</Point7>
<Point8>36 30.64 N, 1 4.68 W</Point8>
<Point9>36 28.99 N, 1 3.27 W</Point9>
<Point10>36 35.97 N, 0 50.63 W</Point10>
每条赛道都有不同数量的航点。
航点位置的解析如下。
root.find("*SRU_Track_Vertices/Point1")
买我不知道“Pointx”之后的数字,他们正在尝试像
这样的东西root.findall("*SRU_Track_Vertices/Point*")
如何不使用正则表达式?
答案 0 :(得分:1)
只需调用.text
- 您可以使用以下内容输出所有航路点:
track = root.find('.//Track_Vertices')
for i in range(1, len(track)+1):
waypoint = track.find('Point{}'.format(i)).text
print(waypoint)
适用于所有<Track_Vertices>
元素:
tracks = root.findall('.//Track_Vertices')
for t in tracks:
for i in range(1, len(t)+1):
waypoint = t.find('Point{}'.format(i)).text
print(waypoint)