Для программы на Python Я ищу способ найти конкретный текст в элементе XML и узнать, какой номер узла он есть.Поиск определенного текста в элементе XML с DOM (Python)
Это XML:
-<shortcut>
<label>33060</label>
<label2>Common Shortcut</label2>
</shortcut>
-<shortcut>
<label>Test</label>
</shortcut>
Конечно, я знаю, что это, вероятно, узел номер 2 здесь, но файл XML может быть больше.
Это должны способами я пытался, но я не получаю, чтобы работать должным образом:
xmldoc = minidom.parse("/DATA.xml")
Shortcut = xmldoc.getElementsByTagName("shortcut")
Label = xmldoc.getElementsByTagName("label")
print xmldoc.getElementsByTagName("label")[12].firstChild.nodeValue (works)
for element in Label:
if element.getAttributeNode("label") == 'Test':
# if element.getAttributeNode('label') == "Test":
print "element found"
else:
print "element not found"
for node in xmldoc.getElementsByTagName("label"):
if node.nodeValue == "Test":
print "element found"
else:
print "element not found"
Каков ваш ожидаемый результат для данного XML? – Sait
Он должен дать тест. Но это часть xml. – Helfenstein
@ Хелфенштайн, это 'lxml' вариант? Использование ** XPath ** представляется наиболее разумным для этого решения, если вам не нужно перебирать дерево узлов и проверять атрибут текста. Однако я не знаком с «минидом». – Anzel