0

在我正在开发的 java 应用程序中,需要获取现有的 XML,然后对该 xml 进行更改,并提供原始和新的 xml 作为输出。

您推荐哪种解析器,以便它使用最少的内存?我可以在哪里执行以下操作 -

(a) 轻松获取 xml 的一部分,并将其插入到同一 XML 中的另一个位置?

(b) 更改部分 xml 中的一些属性。

4

2 回答 2

1

如果文档很大,您可以查看 SAX,否则只需使用dom4j之类的 DOM 解析器为例。

使用任何 DOM 解析器,您都可以复制一个节点并将其附加到文档树的其他位置。

例如使用 dom4j,您可以使用它Element.createCopy来复制元素,并将其添加到其他地方。

于 2012-06-11T09:26:27.840 回答
0

这是一个庞大的 Java 解析器列表供您选择。他们中的大多数都有能力做你需要的——XML解析、选择/过滤/复制/移动节点、修改属性、XML文件读/写能力等。每个都有自己的优点缺点——主要的选择标准是速度和表现:

JDOM
XMLBeans
Xerces
Apache Betwixt
XStream
StAX
JAXB
XP 解析器
kXML
JiBX:将 XML 绑定到 Java 代码
woodstox
VTD-XML 1.5
Zeus
Skaringa
Lycia
Piccolo XML 解析器
NanoXML
NekoPull
XOM
dom4j
Jakarta Commons Digester
JOX
KBML
X2JB
Staxmate

Ref1:http: //java-source.net/open-source/xml-parsers

Ref2:Java 的最佳 XML 解析器

于 2012-06-11T09:48:03.223 回答