2012-01-12 124 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