用Java替换XML节点

时间:2013-12-12 17:18:04

标签: java xml

我有一个外语的XML文档和另一个英文的XML文档。我试图用英文文档中的节点替换外来文档中的一些节点并导出文档。

我已经做了好几天了,并尝试了无数的事情,使用Scanner,BufferedReader等将这两个文档导入文本中,但效果不佳。

我不知道还能尝试什么。我搜索了几天,什么也没有。也许我想要做的事虽然看起来很简单但是无法完成。任何帮助/方向将不胜感激。

2 个答案:

答案 0 :(得分:2)

将它们放入DOM对象中,然后使用XPATH来定位和选择节点,以便在它们之间复制值。

答案 1 :(得分:0)

根据您需要替换的内容以及“导出”的含义,我将使用以下算法使用SAX等XML解析器

For each node that you read
    Replace attributes or text as necessary
    Write it out to the the a new XML file

有很多关于如何使用SAX的教程,例如:How to parse XML using the SAX parser

如果你需要做的“替换”非常简单,比如“<tag>下的所有<parent-tag>个对象”那么可能构建DOM并使用XPath会起作用,但是如果你的替换是非常随意的非结构化然后我会使用解析器。