在python中使用lxml解析标记中的XML数据
我的问题是关于如何获取存储在不允许结束标记的标记中的信息。以下是相关的xml:在python中使用lxml解析标记中的XML数据,python,xml,lxml,xml.etree,Python,Xml,Lxml,Xml.etree,我的问题是关于如何获取存储在不允许结束标记的标记中的信息。以下是相关的xml: <?xml version="1.0" encoding="UTF-8"?> <uws:job> <uws:results> <uws:result id="2014-03-03T15:42:31:1337" xlink:href="http://www.cosmosim.org/query/index/stream/table/2014-03-03T15%3A4
<?xml version="1.0" encoding="UTF-8"?>
<uws:job>
<uws:results>
<uws:result id="2014-03-03T15:42:31:1337" xlink:href="http://www.cosmosim.org/query/index/stream/table/2014-03-03T15%3A42%3A31%3A1337/format/csv" xlink:type="simple"/>
</uws:results>
</uws:job>
其中xmlresponse.content是要解析的xml数据。这是什么回报
'\n '
这表明它只查找换行符,因为我真正想要的是包含在results标记内的标记中。任何想法都将不胜感激。您找到了正确的节点;您提取的数据不正确。而不是
url = root.find('{*}results').text
你真的想要吗
url = root.find('{*}results').get('attribname', 'value_to_return_if_not_present')
或
(如果不存在,将抛出异常)
由于属性本身的名称空间,您可能还需要使用{ns}attrib
语法来查找它
您可以转储attrib字典,也可以复制属性名
text
实际上是元素之间的空格,通常不使用,但在空格(如etreeindent)和一些特殊情况下都支持。提供xml的第一行xml声明。添加了声明语句。
url = root.find('{*}results').get('attribname', 'value_to_return_if_not_present')
url = root.find('{*}results').attrib['attribname']