【发布时间】:2016-11-05 08:59:05
【问题描述】:
<Address>
<value xsi:type="..." xmlns:ns3="..." xmlns:xsi="....">
<item>
<Country>USA</Country>
<City>New York</City>
<Street>Sunrise Av.</Street>
<Number>164</Number>
</item>
</value>
</Address>
<University>
<value xsi:type="..." xmlns:ns3="..." xmlns:xsi="....">
<item>
<Name>Cambridge</Name>
<Location>UK</Location>
<Department>IT</Department>
</item>
</value>
</University>
<Work>
<value xsi:type="..." xmlns:ns3="..." xmlns:xsi="....">
</Work>
我将上述 XML 存储在 Java 字符串中。我想从所有节点中删除 <value> 标记。您对我如何做到这一点有任何解决方案吗?
我想要的结果如下:
<Address>
<item>
<Country>USA</Country>
<City>New York</City>
<Street>Sunrise Av.</Street>
<Number>164</Number>
</item>
</Address>
<University>
<item>
<Name>Cambridge</Name>
<Location>UK</Location>
<Department>IT</Department>
</item>
</University>
<Work>
</Work>
【问题讨论】:
-
我可以想到两种方法:1)将其解析为 DOM,删除元素,然后将其写回。 2) 通过过滤掉元素的 XSLT 转换发送它。
-
移除标签?还是删除该标签所包含的所有内容,包括该标签?
-
我只想删除标签。标签所包含的所有内容都应该存在。例如,不应删除
- 标记。
-
我已经使用 JAXBContext 和 Marshaller 生成了 XML。有没有办法可以使用它们来删除
标记,如上面的示例所示?
标签: java xml xml-parsing