Parsuję plik XML za pomocą drzewa elementów w pythonie i zapisuję zawartość w pliku cpp.Jak mogę sprawdzić istnienie atrybutów i znaczników w XML przed analizą?
Zawartość tagów dziecięcych będzie wariantem dla różnych tagów. Na przykład pierwszy tag zdarzenia ma znacznik strony jako element podrzędny, ale drugi tag zdarzenia nie ma.
-> Jak sprawdzić, czy tag istnieje przed analizą?
-> Dzieci mają atrybut wartości w pierwszym znaczniku zdarzenia, ale nie w drugim. Jak mogę sprawdzić, czy atrybut istnieje, czy nie, przed podjęciem jego wartości.
-> Obecnie mój kod zgłasza błąd dla nieistniejącego znacznika strony i ustawia wartość atrybutu "Brak" dla drugiego znacznika podrzędnego.
<main>
<event>
<party>Big</party>
<children type="me" value="3"/>
</event>
<event>
<children type="me"/>
</event>
</main>
Kod:
import xml.etree.ElementTree as ET
tree = ET.parse('party.xml')
root = tree.getroot()
for event in root.findall('event'):
parties = event.find('party').text
children = event.get('value')
Chcę sprawdzić tagów, a następnie podjąć ich wartości.
@Martjin Pieters Wspomniałeś, jeśli strona jest None: Jak będę pisać w Pythonie, jeśli Chciałbym napisać coś w stylu: - If party! = None: – Abhishek
@Abhishek: 'if party is not None'. Zobacz [operatory porównania python] (http://docs.python.org/2/reference/expressions.html#not-in). –
Dzięki za wzmiankę o tym, jak sprawdzić atrybuty. Bardzo dobra odpowiedź. – SSchneid