Python从XML数据获取ID

Python从XML数据获取ID,python,xml,parsing,Python,Xml,Parsing,我是一个完全的python新手,正在尝试解析一个XML文档,它是一个post请求从google返回的结果 返回的文档与此文档中概述的文档相似 上面写着“回复包含有关档案的信息” 我唯一感兴趣的部分是开头附近的Id属性。只有一个条目和一个id属性。我如何提取它以便以后使用?我已经为此奋斗了一段时间,我觉得我已经尝试了从minidom到elementtree的一切。无论我做什么,我的搜索结果都是空白的,循环不会迭代,或者方法丢失。非常感谢您的帮助。谢谢。我强烈推荐Python软件包。太棒了。下面是一

我是一个完全的python新手,正在尝试解析一个XML文档,它是一个post请求从google返回的结果

返回的文档与此文档中概述的文档相似 上面写着“回复包含有关档案的信息”

我唯一感兴趣的部分是开头附近的Id属性。只有一个条目和一个id属性。我如何提取它以便以后使用?我已经为此奋斗了一段时间,我觉得我已经尝试了从minidom到elementtree的一切。无论我做什么,我的搜索结果都是空白的,循环不会迭代,或者方法丢失。非常感谢您的帮助。谢谢。

我强烈推荐Python软件包。太棒了。下面是一个使用示例数据的简单示例(假设您已经安装了BeautifulSoup):

从美化组导入美化组
data=”“”
https://docs.google.com/feeds/archive/-228SJEnnmwemsiDLLxmGeGygWrvW1tMZHHg6ARCy3Uj3SMH1GHlJ2scb8BcHSDDDUosQAocwBQOAKHOq3-0gmKA
2010-11-18T18:34:06.981Z
2010-11-18T18:34:07.763Z
,它内置于Python中,但值得学习BeautifulSoup,因为它能更好地响应现实世界的XML(和HTML)。

我强烈推荐Python包。它非常棒。下面是一个使用示例数据的简单示例(假设您已经安装了BeautifulSoup):

从美化组导入美化组
data=”“”
https://docs.google.com/feeds/archive/-228SJEnnmwemsiDLLxmGeGygWrvW1tMZHHg6ARCy3Uj3SMH1GHlJ2scb8BcHSDDDUosQAocwBQOAKHOq3-0gmKA
2010-11-18T18:34:06.981Z
2010-11-18T18:34:07.763Z

,它内置于Python中,但值得学习BeautifulSoup,因为它能更好地响应现实世界中的XML(和HTML)。

假设变量
response
包含返回HTML文档的字符串表示形式,让我告诉您解决问题的错误的方法

id = response.split("</id>")[0].split("<id>")[1]
id=response.split(“”[0]。split(“”[1]
正确的方法是使用
xml.sax
xml.dom
expat
,但就我个人而言,除非我想在响应包含意外内容时对异常情况进行健壮的错误处理,否则我不会感到麻烦



编辑:我忘了,它确实和Travis描述的一样棒。

假设变量
response
包含返回HTML文档的字符串表示,让我告诉您解决问题的错误的方法

id = response.split("</id>")[0].split("<id>")[1]
id=response.split(“”[0]。split(“”[1]
正确的方法是使用
xml.sax
xml.dom
expat
,但就我个人而言,除非我想在响应包含意外内容时对异常情况进行健壮的错误处理,否则我不会感到麻烦



编辑:我忘了,它确实和Travis描述的一样棒。

如果您想使用minidom,可以执行以下操作(用xml输入替换gd.xml):


另外,我假设您指的是id元素,而不是id属性。

如果您想使用minidom,可以执行以下操作(用xml输入替换gd.xml):


另外,我假设您指的是id元素,而不是id属性。

id元素或属性vs@machew id元素的cdata内容(例如24309235)id元素或属性vs@machew id元素的cdata内容(例如24309235)
from xml.dom import minidom

dom = minidom.parse("gd.xml")
id = dom.getElementsByTagName("id")[0].childNodes[0].nodeValue
print id