我正在使用lxml来解析python中的xml文件。 xml的目的是配置我的代码。由于我需要使用略有不同的许多不同配置,我使用的是xi:include
功能。
能够在“main”xml文件中声明一些实体并让包含的实体了解它们将非常有用。这是我的工作示例:
main.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>
external.xml:
<?xml version="1.0"?>
<!DOCTYPE doc [
<!ENTITY bar "example">
]>
<objects>
<object name="&bar;" />
</objects>
我想要做的是在main.xml中声明bar,是否可以这样做?在此先感谢,Matteo
这不是我正在寻找的解决方案,但有点解决了我的问题:
main.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>
confs.xml
<?xml version="1.0"?>
<!DOCTYPE doc[
<!ENTITY foo "bar">
]>
<ext>
<conf1>
<inc name="apple_&foo;" />
</conf1>
<conf2>
<inc name="orange_&foo;" />
</conf2>
</ext>