parsing xml mit Standard-Namespace zum Abrufen eines Elementwerts mit lxml
Ich habe eine XML-Zeichenfolge wie diese
str1 = """<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>
http://www.example.org/sitemap_1.xml.gz
</loc>
<lastmod>2015-07-01</lastmod>
</sitemap>
</sitemapindex> """
Ich möchte alle in @ vorhandenen URLs extrahier<loc>
Knoten d. h.http://www.example.org/sitemap_1.xml.gz
Ich habe diesen Code ausprobiert, aber er hat @ nicht ausgesproch
from lxml import etree
root = etree.fromstring(str1)
urls = root.xpath("//loc/text()")
print urls
[]
Ich habe versucht zu überprüfen, ob mein Wurzelknoten korrekt gebildet ist. Ich habe es versucht und bekomme den gleichen String zurück wie str1
etree.tostring(root)
'<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n<sitemap>\n<loc>http://www.example.org/sitemap_1.xml.gz</loc>\n<lastmod>2015-07-01</lastmod>\n</sitemap>\n</sitemapindex>'