2014-07-20 103 views
2

我在python中通过pasing xml中途中途遇到了一些与xml有关的绊脚石我正在尝试渲染我正在使用xml.dom.minidom并且我可以得到xml不用担心这个位很容易我得到它的地方是用奇怪的语法搞乱我得到的是这样的。解析python中的XML

<enclosure name="link1" url="http://google.co.uk/vid.mp4" type="video/mp4" /> 

我所strugling的代码波纹管做的就是一种方法来提取我用Google搜索,没有发现任何url属性的字符串。我认为有更多的XML经验的人会对如何做到这一点有一个想法。贝娄是我的代码到目前为止本节

files = urllib2.urlopen(x) 
data = files.read() 
files.close() 

dom = parseString(data) 

xmlTag = dom.getElementsByTagName('enclosure')[0].toxml() 
print xmlTag 
+1

这看起来更像是HTML你试图解析 - 你确定你在解析XML吗? –

+0

是的我相信它是XML它是一个包含视频的RSS提要。我知道HTML和XML之间的区别。我用名称链接作为例子,实际上它被称为机箱。所有其他元素与XML相同 – bobthemac

+0

如果您不相信我,那么文档顶部的内容是什么?<?xml version =“1.0”encoding =“UTF-8”?>' – bobthemac

回答

2

您可以使用BeautifulSoup

from BeautifulSoup import BeautifulSoup 

xml = '<enclosure name="link1" url="http://google.co.uk/vid.mp4" type="video/mp4" />' 
parsed_xml= BeautifulSoup(xml) 
print parsed_xml.enclosure['url'] 

输出

http://google.co.uk/vid.mp4 
+1

感谢队友没有意识到你可以以这种方式使用美丽的汤。 – bobthemac