1

我正在使用 lxml 在 python 中解析一个 xml 文件。xml 的目的是配置我的代码。由于我需要使用许多略有不同的不同配置,因此我正在使用该xi:include功能。

能够在“主”xml 文件中声明一些实体并让包含的实体知道它们会非常有用。这是我的工作示例:

主.xml

<?xml version="1.0"?>
<!DOCTYPE doc> 
<configuration xmlns:xi="http://www.w3.org/2001/XInclude" name="foo" version="0.1" >
 <xi:include href="./external.xml" />
</configuration>

外部.xml

<?xml version="1.0"?>
<!DOCTYPE doc [
       <!ENTITY bar "example">
       ]>
<objects>
   <object name="&bar;" />
</objects>

我想要做的是在 main.xml 中声明 bar,可以这样做吗?提前致谢, 马特奥

4

1 回答 1

0

这不完全是我正在寻找的解决方案,但有点解决了我的问题:

主要的.xml

<?xml version="1.0"?>
<!DOCTYPE doc>
<configurations>
    <configuration>
    <xi:include href="./external/confs.xml" xpointer="xpointer(/ext/conf1)" />
    </configuration> 

    <configuration>
    <xi:include href="./external/confs.xml" xpointer="xpointer(/ext/conf2)" />
    </configuration> 
</configurations>

配置文件.xml

<?xml version="1.0"?>
<!DOCTYPE doc[
    <!ENTITY foo "bar">
]>
    <ext>
       <conf1>
           <inc name="apple_&foo;" />   
       </conf1>

       <conf2>
           <inc name="orange_&foo;" />
       </conf2>

    </ext> 
于 2017-12-19T20:52:44.963 回答