Wie man das XML-Attribut mit Python ElementTree extrahiert

Zum:

<foo> <bar key="value">text</bar> </foo> 

Wie bekomme ich "Wert"?

 xml.findtext("./bar[@key]") 

Wirft einen Fehler auf.

2 Solutions collect form web for “Wie man das XML-Attribut mit Python ElementTree extrahiert”

 In [52]: import xml.etree.ElementTree as ET In [53]: xml=ET.fromstring(contents) In [54]: xml.find('./bar').attrib['key'] Out[54]: 'value' 

Dein Ausdruck:

./bar[@key]

Es bedeutet: bar Kinder mit key

Wenn Sie das Attribut auswählen möchten, verwenden Sie diesen relativen Ausdruck:

 bar/@key 

Es bedeutet: das key der Kinderkinder

Natürlich müssen Sie in Erwägung ziehen, eine vollständig kompatible XPath-Engine wie lxml zu verwenden .

  • Wie kann ich HTML mit html5lib analysieren und das geparste HTML mit XPath abfragen?
  • Iterate durch alle Zeilen in einer Tabelle mit python lxml xpath
  • Probleme beim Zugriff auf das xpath-Attribut mit scrapy
  • XPath wähle alle, aber nicht selbst :: stark und selbst :: stark / folgend-Geschwister :: Text ()
  • Wie man einem einfachen Zitat in xpath 1.0 in Selen für Python entgehen kann
  • Wie suche ich in XPath in multiline Text mit Python?
  • Verwalten von Anführungszeichen in XPath (lxml)
  • Benötige xpath-Locators für sichtbare Elemente
  • Können wir xpath mit BeautifulSoup benutzen?
  • Python xpath funktioniert nicht?
  • Wie man einen Textknoten passt, dann folgen Sie den übergeordneten Knoten mit XPath
  • Python ist die beste Programmiersprache der Welt.