小编zet*_*bit的帖子

Python lxml 使用 xi:include 包含多个 Xml 片段

我正在 Python 中使用 lxml 开发一个简单的 xml 日志文件类。

到目前为止,我的方法是使用两个文件。格式良好的 XML 文件,其中包含第二个文件(XML 片段)。我正在使用 xi:include 元素。这样,只需将<event>元素附加到文件末尾即可有效地更新 XML 片段。

格式良好的 XML 文件(“logfile.xml”)如下所示:

 <?xml version="1.0"?>
<logfile>
<event xmlns:xi="http://www.w3.org/2001/XInclude">
    <xi:include href="events.xml"/>
</event>
</logfile>
Run Code Online (Sandbox Code Playgroud)

xml 片段('events.xml')如下所示:

<event>
     <data></data>
</event>
<event>
     <data></data>
</event>
<event>
     <data></data>
</event>
Run Code Online (Sandbox Code Playgroud)

我的目标是最终达到:

<?xml version="1.0"?>
 <logfile>
    <event>
         <data></data>
    </event>
    <event>
         <data></data>
    </event>
    <event>
         <data></data>
    </event>
 </logfile>
Run Code Online (Sandbox Code Playgroud)

在 python 中,我使用 xinclude 方法来处理格式良好的 XML 文件(“logfile.xml”)中的 xi:include 元素。这有效,但仅当有一个<event>元素是 XML 片段('events.xml')时

我的Python代码:

tree = etree.parse('logfile.xml')
tree.xinclude()
root = tree.getroot()
print etree.tostring(self.logfileNode, pretty_print=True, …
Run Code Online (Sandbox Code Playgroud)

python lxml xinclude

5
推荐指数
1
解决办法
3570
查看次数

标签 统计

lxml ×1

python ×1

xinclude ×1