想使用一个简单的工具(现在,我使用“ xmllint ”)来解析一个xml文件,该文件在多个级别使用“xinclude”。单个文件中有多个元素。
然后我的应用程序可以解析结果 xml 文件 ea,(其中没有 xinclude)
命令行就像
xmllint input.xml --xinclude --output output.xml --noent
发现这篇文章: XML XInclude 和两个同名元素
已经尝试过parse="text",它没有按预期工作。
输入.xml
<?xml version="1.0"?>
<Tag1 name="nameABC" xmlns:xi="http://www.w3.org/2003/XInclude">
<Setting name="setting1">111</Setting>
<xi:include href="shared.3.xml" parse="text" />
</Tag1>
shared.3.xml
<Setting name="shared_3___1">3_1</Setting>
<Setting name="shared_3___2">3_2</Setting>
<Setting name="shared_3___3">3_3</Setting>
xmllint 结果是
<?xml version="1.0"?>
<Tag1 xmlns:xi="http://www.w3.org/2003/XInclude" name="nameABC">
<Setting name="setting1">111</Setting>


<Setting name="shared_3___1">3_1</Setting>
<Setting name="shared_3___2">3_2</Setting>
<Setting name="shared_3___3">3_3</Setting>
</Tag1>
我的期望是
<?xml version="1.0"?>
<Tag1 xmlns:xi="http://www.w3.org/2003/XInclude" name="nameABC">
<Setting name="setting1">111</Setting>
<Setting name="shared_3___1">3_1</Setting>
<Setting name="shared_3___2">3_2</Setting>
<Setting name="shared_3___3">3_3</Setting>
</Tag1>
任何想法???多谢
不能将多个标签(“设置”)放在一个包装标签(“设置”)中,因为一个文件可以包含在很多文件中。不想在这么多宫殿里解析“设置”。