2012-06-11 85 views
0

在我正在開發的java應用程序中,需要採用現有的XML,然後對該xml進行更改並給出原始以及新的xml,作爲輸出。java處理xml並修改它以創建新的xml

你推薦哪個解析器,這樣它使用最少的內存?在哪裏我可以做到以下幾點 - (1)輕鬆取出XML的一部分,並將其插入到同一個XML中的另一個地方? (b)改變xml的一部分的一些屬性。

+3

您是否考慮過使用apache xalan進行XSLT處理? – Miquel

+0

對於您所描述的內容,XSLT是_intended_。 Java是一種通用語言。XSLT將會更加簡單,甚至可以從Java調用XSL。 –

回答

1

如果文檔很大,可以看一下SAX,否則就像例如dom4j那樣使用DOM解析器。

使用任何DOM解析器,您可以複製節點並將其附加到文檔樹中的其他位置。

例如,使用dom4j,您可以使用Element.createCopy複製元素,並將其添加到其他位置。

+0

但是,正如評論上文所述,如果您可以避免使用Java,那麼對這樣的任務使用XSLT – Alex

0

下面是一個巨大的Java解析器列表供您選擇。他們中的大多數人都有能力做你需要的東西 - XML分析,選擇/過濾/複製/移動節點,修改屬性,XML文件讀/寫功能等等。每種方法都有其自身的優勢 - 主要選擇標準是速度和性能:

JDOM
XMLBeans
Xerces
Apache Betwixt
XStream
StAX
JAXB
XP Parser
kXML
JiBX: Binding XML to Java Code
woodstox
VTD-XML 1.5
Zeus
Skaringa
Lycia
Piccolo XML Parser
NanoXML
NekoPull
XOM
dom4j
Jakarta Commons Digester
JOX
KBML
X2JB
Staxmate

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

至Ref2:Best XML parser for Java

+0

我正在尋找一個最少使用內存的解析器 - 處理時間並不是一個重要因素,但內存使用率是最重要的 - 你對我的場景建議哪些?謝謝... – Arvind