получить весь xml в теге с помощью lxml - PullRequest
0 голосов
/ 04 августа 2020

У меня xml, как показано ниже. Необходимо извлечь xml под тегом. Например, мне нужен список информации о странице, где каждый элемент в списке должен быть xml т.е. <page-info><page><title>Chapter 1</title><content>Welcome to Chapter 1</content></page><page><title>Chapter 2</title><content>Welcome to Chapter 2</content></page></page-info>

Я могу перемещаться до информации о странице, используя приведенный ниже код, но не уверен, как для извлечения всего xml внутри тега. Могу я узнать, как сделать то же самое?

from lxml import html


def parse_xml():
    with open('input_files_parse_refs/102277033304.xml', encoding="utf-8") as file_object:
        xml = file_object.read().strip()
        root = html.fromstring(xml)
        for reference in root.xpath('//item/book/pages/*'):
            print(reference.tag)

XML:

<item>
    <book>
        <pages>
            <page-info>
                <page>
                  <title>Chapter 1</title>
                  <content>Welcome to Chapter 1</content>
                </page>
                <page>
                 <title>Chapter 2</title>
                 <content>Welcome to Chapter 2</content>
                </page>
            </page-info>
            <page-fulltext>Published in page 1</page-fulltext>
            <page-info>
                <page>
                  <title>Chapter 1</title>
                  <content>Welcome to Chapter 1</content>
                </page>
                <page>
                 <title>Chapter 2</title>
                 <content>Welcome to Chapter 2</content>
                </page>
            </page-info>
            <page-fulltext>Published in page 2</page-fulltext>
            <page-info>
                <page>
                  <title>Chapter 1</title>
                  <content>Welcome to Chapter 1</content>
                </page>
                <page>
                 <title>Chapter 2</title>
                 <content>Welcome to Chapter 2</content>
                </page>
            </page-info>
            <page-fulltext>Published in page 3</page-fulltext>
        </pages>
    </book>
</item>
...