在我正在开发的 java 应用程序中,需要获取现有的 XML,然后对该 xml 进行更改,并提供原始和新的 xml 作为输出。
您推荐哪种解析器,以便它使用最少的内存?我可以在哪里执行以下操作 -
(a) 轻松获取 xml 的一部分,并将其插入到同一 XML 中的另一个位置?
(b) 更改部分 xml 中的一些属性。
如果文档很大,您可以查看 SAX,否则只需使用dom4j之类的 DOM 解析器为例。
使用任何 DOM 解析器,您都可以复制一个节点并将其附加到文档树的其他位置。
例如使用 dom4j,您可以使用它Element.createCopy
来复制元素,并将其添加到其他地方。
这是一个庞大的 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 解析器