2014-07-20 136 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