2012-01-12 2 views
0

Все, что я хочу сделать, это получить содержимое тега XML в Python. Возможно, я использую неправильный импорт; в идеале я хотел бы иметь способ PHP сделок с XML (т.е. $XML->this_tag), как способ pyodbc делает базу данных вещей (т.е. table.field)Обработка XML с помощью Python

Вот мой пример:

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>' 

Все, что я хочу, чтобы иметь возможность читать содержимое тега (например, innerHTML в javascript).

+0

возможно попробовать 'dom.getElementsByTagName ("тест") [0] .firstChild() ToXml()' – Oliver

+0

Попробуйте lxml: lxml.de – Marcin

+0

или красивый суп – WeaselFox

ответ

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

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 
Смежные вопросы