【发布时间】:2020-09-12 02:12:20
【问题描述】:
我的xml结构如下
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>hello world 1</loc>
<image:image>
<image:loc>this is image loc 1</image:loc>
<image:title>this is image title 1</image:title>
</image:image>
<lastmod>2019-06-19</lastmod>
<changefreq>daily</changefreq>
<priority>0.25</priority>
</url>
<url>
<loc>hello world 2</loc>
<image:image>
<image:loc>this is image loc 2</image:loc>
<image:title>this is image title 2</image:title>
</image:image>
<lastmod>2020-03-19</lastmod>
<changefreq>daily</changefreq>
<priority>0.25</priority>
</url>
</urlset>
我只想得到
hello world 1
hello world 2
我的python代码如下:
import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()
for url in root.findall('url'):
loc = url.find('loc').text
print(loc)
不幸的是,它什么也没给我。
但是当我将我的 xml 更改为
<urlset>
<url>
<loc>hello world 1</loc>
<lastmod>2019-06-19</lastmod>
<changefreq>daily</changefreq>
<priority>0.25</priority>
</url>
<url>
<loc>hello world 2</loc>
<lastmod>2020-03-19</lastmod>
<changefreq>daily</changefreq>
<priority>0.25</priority>
</url>
</urlset>
它给了我正确的结果。
hello world 1
hello world 2
如何在不更改 xml 的情况下获得正确的结果?因为修改 10000+ 行文件没有任何意义。
TIA
【问题讨论】:
标签: python python-3.x xml-sitemap