Я новичок в этом. Из-за моего первоначального xml около 8 ГБ трудно изучить всех родителей, бабушек и дедушек, грандов и пр. Для заинтересованного ребенка в оригинальном xml вручную. Я пытаюсь просмотреть все узлы, пока не будет найден заинтересованный ребенок. Поэтому я хочу создать структуру «скелета» xml до интересующего ребенка country_data.xml отсюда https://docs.python.org/2/library/xml.etree.elementtree.html. Извините за код:Как создать структуру xml до определенного узла xml ussing Python?
def LookThrougStructure(parent, xpath_str, stop_flag):
out_str.write('Parent tag: %s\n' % (parent.tag))
for child in parent:
if child.tag == my_tag:
out_str.write('Child tag: %s\n' % (child.tag))
#my_node_is_found_flag = 1
break
LookThrougStructure(child, child.tag, 0)
return
import xml.etree.ElementTree as ET
tree = ET.parse('country_data.xml')
root = tree.getroot()
my_tag = 'neighbor'
out_str = open('xml_structure.txt', 'w')
LookThrougStructure(root, root.tag, my_tag)
out_str.close()
Он работает неправильно и yelds всех узловых тегов:
родительских тег: Родитель данные тегов: страна Parent тега: ранг Parent тег: год Родителя тег: gdppc ребенка тег : сосед родительский тег: страна родитель тег: ранг родитель тег: год родительский тег: gdppc Детский тег: сосед родитель тег: страна родитель тег: ранг родитель тег: год родительский тег: gdppc Детский тег: сосед
Но я хочу что-то подобное (мой заинтересован ребенок "сосед"): данные
-
- страна
- сосед
- страна
Или что:/dat а/страна/сосед. Что не так?
Можете ли вы добавить фактический результат в правильном формате, поскольку я не совсем понимаю, что вы хотите –
Да: см. Выше. Мне не нужны такие вещи, как rank, year, gdppc, я хочу видеть только все родительские узлы для соседнего тега. –
Так что, в основном, вы только хотите, чтобы предки до соседа? –