【问题标题】:Append xml to xml using python.I have two xml files which i need to merge .so is there anyway i can merge both files使用python将xml附加到xml。我有两个需要合并的xml文件。所以无论如何我可以合并这两个文件
【发布时间】:2012-10-04 14:37:47
【问题描述】:

谁能告诉我如何使用python附加xml文件

这是我的 file1.xml

<?xml version="1.0"?>
<addressbook>
    <person>
        <name>Eric Idle</name>
        <phone type='fix'>999-999-999</phone>
        <phone type='mobile'>555-555-555</phone>
        <address>
            <street>12, spam road</street>
            <city>London</city>
            <zip>H4B 1X3</zip>
        </address>
    </person>
</addressbook>

我想将它附加到另一个 xml 文件中

<?xml version="1.0"?>

 <note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
 </note>

有没有什么模块可以帮我做这个...

我需要的输出是:

<addressbook>
    <person>
        <name>Eric Idle</name>
        <phone type='fix'>999-999-999</phone>
        <phone type='mobile'>555-555-555</phone>
        <address>
            <street>12, spam road</street>
            <city>London</city>
            <zip>H4B 1X3</zip>
        </address>
    </person>
    <note>
        <to>Tove</to>
        <from>Jani</from>
        <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
     </note>
</addressbook>

现在我需要从文件中读取 xml,但稍后我需要从服务器获取 xml 响应并将其转换为一个 xml 文件。所以请如果有人知道这将对我有很大帮助.... ..

【问题讨论】:

  • 是否涉及嵌套?如果没有,那么您只需连接文件...
  • 是的,涉及到嵌套
  • 你能发布预期的输出吗?
  • 第二个文件没有正确显示,所以我在这里添加了它... ToveJani from> 提醒这个周末别忘了我!
  • 你需要展示你想要的输出。你试过什么?

标签: python xml django


【解决方案1】:

编辑:由于问题发生了很大变化,因此删除了旧答案。

使用 lxml:

addressbook_xml = """<?xml version="1.0"?>
<addressbook>
    <person>
        <name>Eric Idle</name>
        <phone type='fix'>999-999-999</phone>
        <phone type='mobile'>555-555-555</phone>
        <address>
            <street>12, spam road</street>
            <city>London</city>
            <zip>H4B 1X3</zip>
        </address>
    </person>
</addressbook>"""

note_xml = """<?xml version="1.0"?>

 <note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
 </note>
"""

from lxml import etree

# XML strings to etree
addressbook_root = etree.fromstring(addressbook_xml)
note_root = etree.fromstring(note_xml)

# append the note
addressbook_root.append(note_root)

# print the new addressbook XML document
print etree.tostring(addressbook_root)

【讨论】:

    猜你喜欢
    • 2013-04-13
    • 2015-04-12
    • 2019-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    • 2011-06-23
    • 1970-01-01
    相关资源
    最近更新 更多