【发布时间】:2014-08-04 09:51:25
【问题描述】:
我有一些复杂的 xml 结构。有时我只想保留与我的 xpath 条目的运行时列表匹配的元素。
示例 xml
<Employee>
<Address>
<addressLine1>Dummy Line 1</addressLine1>
<zip>535270</zip>
</Address>
<Department>
<id>102</id>
<name>development</name>
</Department
</Employee>
示例 xpath 条目可能有一段时间像
//Employee/Address
//Employee/Department/
//Employee/Department/name
在上面的 xpath 中,如果您发现我们在部门内有部门和名称,那么在这种情况下,我可以忽略部门。此外,上面的 xpath 条目也可以如下所示
//Employee/Address
//Employee/Department/name
我想要的结果 xml 如下
<Employee>
<Address>
<addressLine1>Dummy Line 1</addressLine1>
<zip>535270</zip>
</Address>
<Department>
<name>development</name>
</Department
</Employee>
我意识到我可以通过 xslt 实现这一点。所以我想要 xslt 来满足这种通用要求。我当前的代码也在java中。 java有没有更好的选择??
【问题讨论】:
-
"我意识到我可以通过 xslt 实现这一点。" 但是,如果路径在运行时作为字符串传递,这并不容易。跨度>
-
您能否更详细地解释为什么
addressLine和zip出现在输出中,尽管没有与它们匹配的路径?为什么id被删除而zip没有被删除? -
addressLine 和 zip 出现,因为 Address 存在且不存在其他排除项