1
这是一个问题关于概念。继承XML文件,并修改数值
我有一个XML文件,姑且称之为基地:
<base id="default">
<tags>
<tag>tag_one</tag>
<tag>tag_two</tag>
<tag>tag_three</tag>
</tags>
<data>
<data_a>blue</data_a>
<data_b>3</data_b>
</data>
</base>
我想要做的是能在另一个文件扩展这个XML,修改个别属性。例如,我想继承文件,使一个新的具有不同data/data_a
节点:
<base id="green" import="default">
<data>
<data_a>green</data_a>
</data>
</base>
到目前为止,这是很简单的,它取代了旧的data/data_a
用新的。我甚至可以添加一个新节点:
<base id="ext" import="default">
<moredata>
<data>extended version</data>
</moredata>
</base>
而且还是很简单。当我想要删除节点或处理XML列表时(如tags
节点),问题就出现了。
我应该如何名单上引用一个特定的指数?我想这样做是这样的:
<base id="diffList" import="default">
<tags>
<tag index="1">this is not anymore tag_two</tag>
</tags>
</base>
以及用于删除一个节点/数组索引:
<base id="deleting" import="default">
<tags>
<tag index="2"/>
</tags>
<data/>
</base>
<!-- This will result in an XML containing these values: -->
<base>
<tag>tag_one</tag>
<tag>tag_two</tag>
</base>
但我不是很满意我的解决方案。我对XSLT或其他XML转换工具一无所知,但我认为以前有人必须这样做。
的关键目标,我正在寻找的是减轻手工编写的XML(包括底座和“扩展”)。
我除了XML开放的新的解决方案,如果他们很容易手工编写。
感谢您的阅读。