У меня есть следующие XML документы:
doc_1: (X включает второй документ)
<?xml version="1.0" encoding="utf-8"?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="doc_2.xml" parse="xml" />
</document>
doc_2:
<?xml version="1.0" encoding="utf-8"?>
<para>This is a paragraph.</para>
Мой код выглядит как следует:
from lxml import tree
tree = etree.parse("stck_oflow_test.xml") #load file
tree.xinclude() #recursively includes files
root = tree.getroot()
def print_root():
for child in root:
print (child.tag, child.attrib, child.text)
print_root()
Вывод хорош для моих целей; para {} Это абзац.
Но вот в чем проблема, если я изменю doc_2 на файл, который имеет данные в форме:
<?xml version="1.0" encoding="utf-8"?>
<para>
<length>177</length>
<weight>63</weight>
</para>
, тогда вывод no long содержит содержимое doc_2. Запуск того же кода python приводит к выводу:
para {}
Как это исправить?
Заранее спасибо