Este team de expertos pasados muchos días de investigación y de recopilar de datos, dimos con los datos necesarios, esperamos que resulte de gran utilidad para tu proyecto.
Solución:
Aquí hay un lxml fragmento que extrae un attribute así como elemento texto (su pregunta era un poco ambigua sobre cuál necesitaba, así que incluyo ambos):
from lxml import etree
doc = etree.parse(filename)
memoryElem = doc.find('memory')
print memoryElem.text # element text
print memoryElem.get('unit') # attribute
Usted preguntó (en un comentario sobre la respuesta de Ali Afshar) si minidominio (2.x, 3.x) es una buena alternativa. Aquí está el código equivalente usando minidom; juzgue usted mismo cuál es más agradable:
import xml.dom.minidom as minidom
doc = minidom.parse(filename)
memoryElem = doc.getElementsByTagName('memory')[0]
print ''.join( [node.data for node in memoryElem.childNodes] )
print memoryElem.getAttribute('unit')
lxml me parece el ganador.
XML
- item1
- item2
- item3
- item4
Pitón:
from xml.dom import minidom
xmldoc = minidom.parse('items.xml')
itemlist = xmldoc.getElementsByTagName('item')
print "Len : ", len(itemlist)
print "Attribute Name : ", itemlist[0].attributes['name'].value
print "Text : ", itemlist[0].firstChild.nodeValue
for s in itemlist :
print "Attribute Name : ", s.attributes['name'].value
print "Text : ", s.firstChild.nodeValue
etree, con lxml probablemente:
root = etree.XML(MY_XML)
uuid = root.find('uuid')
print uuid.text
Reseñas y puntuaciones del post
Más adelante puedes encontrar las notas de otros sys admins, tú también tienes la libertad de insertar el tuyo si lo deseas.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)