从此XML文件中获取rect标记

时间:2015-04-01 03:28:17

标签: python xml svg xml-parsing lxml

如何使用Python中的lxml库从this XML文件获取?

我无法找到合适的XPATH来获取标签。

1 个答案:

答案 0 :(得分:1)

您需要处理namespaces (以及empty one):

namespaces = {
  "dc":"http://purl.org/dc/elements/1.1/",
  "cc": "http://creativecommons.org/ns#",
  "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
  "svg": "http://www.w3.org/2000/svg",
  "myns": "http://www.w3.org/2000/svg"
}

tree = ET.fromstring(data)
for rect in tree.xpath("//myns:rect", namespaces=namespaces):
    print rect.attrib.get("id")

其中data是您提供的XML字符串。

出于测试目的,它只打印rect元素id属性:

rect3347
rect3349
rect3351
rect3351-1
rect3351-17
rect3351-1-4
rect3397
rect3399
rect3401
rect3403