假设XML文件中的数据名为“1jan2018.xml”:
"1jan2018.xml"
<instrument id="12345" xmlns="12345">
<type>guitar</guitar>
<maker>Fender</maker>
<model>Stratocaster 1979</model>
<condition>used</condition>
<price>4500</price>
</instrument>
<instrument id="12225" xmlns="12225">
<type>guitar</guitar>
<maker>Ibanez</maker>
<model>JS Signature 100S</model>
<condition>New</condition>
<price>3400</price>
</instrument>
第二天,在名为“2jan2018.xml”的文件中价格发生变化:
"2jan2018.xml"
<instrument id="12345" xmlns="12345">
<type>guitar</guitar>
<maker>Fender</maker>
<model>Stratocaster 1979</model>
<condition>used</condition>
<price>4400</price>
</instrument>
<instrument id="12225" xmlns="12225">
<type>guitar</guitar>
<maker>Ibanez</maker>
<model>JS Signature 100S</model>
<condition>New</condition>
<price>3200</price>
</instrument>
默认命名空间的原因:避免为每个子元素添加前缀。
假设:添加与instrument / @ id相同的名称空间将跟踪每个子元素的数据/值变化。假设有一个系统负责将默认命名空间添加到原始文件中
目标1 :找到跟踪子节点更改的方法。
目标2 :仅在第二天生成的xml文件中生成“已更改的数据”。我在想XSLT可以用于这个目标(我在大声思考 - 这里不是专家)。
例如
在“2jan2018.xml”文件中,数据应该只是
<instrument id="12345" xmlns="12345">
<price>4400</price>
</instrument>
<instrument id="12225" xmlns="12225">
<price>3200</price>
</instrument>
问题:
答案 0 :(得分:2)
这是一个非常糟糕的主意。它不是为什么命名空间设计的,它会让你遇到各种各样的实际困难。例如,使用XPath在多个名称空间中查找元素变得非常麻烦。