2012-01-12 92 views
0

我想要做的就是在Python中獲取XML標記的內容。我可能使用了錯誤的導入;理想我很樂意與XML的方式PHP的交易(即$XML->this_tag),像pyodbc的方式做數據庫的東西(即table.field用Python處理XML

這裏是我的例子:

from xml.dom.minidom import parseString 
dom = parseString("<test>I want to read this</test>") 
dom.getElementsByTagName("test")[0].toxml() 
>>> u'<test>I want to read this</test>' 

所有我希望能夠讀取標籤的內容(如javascript中的innerHTML)。

+0

也許嘗試'dom.getElementsByTagName( 「測試」)[0] .firstChild()toxml用於()' – Oliver 2012-01-12 12:34:08

+0

嘗試lxml:lxml.de – Marcin 2012-01-12 12:34:34

+0

或美麗的湯 – WeaselFox 2012-01-12 12:36:55

回答

2

而不是dom.getElementsByTagName("test")[0].toxml()dom.getElementsByTagName("test")[0].firstChild.data它會打印節點值。

2

我喜歡BeautifulSoup:

from BeautifulSoup import BeautifulStoneSoup 
xml = """<test>I want to read this</test>""" 
soup = BeautifulStoneSoup(xml) 
soup.find('test') 

我想讀這個

看起來有所好轉。

+0

像我一樣牛逼!將在未來的項目中使用它! – jdborg 2012-01-12 13:36:03

1

使用firstChild.data代替toxml

from xml.dom.minidom import parseString 

dom = parseString('<test>I want to read this</test>') 
element = dom.getElementsByTagName('test')[0] 
print element.firstChild.data 

輸出:

>>> I want to read this