2014-02-05 34 views
2

有什麼方法可以使用java在xml中添加自定義聲明。使用java在xml中添加自定義聲明

(即)我使用Java中的dom解析器創建了xml。 <?xml version="1.0" encoding="UTF_8"?>默認情況下已創建。

我想另一個聲明也需要添加在我的xml中。 <?myxml version="10.0"?>

有沒有什麼辦法可以在dom解析器中實現這一點。

在此先感謝。

+0

你如何序列化DOM的流? – McDowell

回答

1

在XML方面<?myxml .... ?>(或內<? ?>任何類似的結構,但不名爲<?xml)被稱爲處理指令,並且可以在文檔中去任何地方(除了開始或結束元素標籤內)。 「myxml」在本例中 - - 開口<?和第一其後的空白字符之間的位是PI 目標,和之後的所有空白的第一塊直至閉合?>是PI 數據

您可以使用document.createProcessingInstruction在DOM中創建PI,並將生成的節點添加到文檔中的適當位置。例如到文檔元素的開始標記之前把它你可以說

ProcessingInstruction newPI = document.createProcessingInstruction(
              "myxml", "version=\"10.0\""); 
document.insertBefore(newPI, document.getDocumentElement()); 

注意,<?xml ...?>聲明本身是處理指令,即使它具有相同的格式,並且不表示作爲DOM樹中的ProcessingInstruction節點。

+0

和''聲明可以[變量]從變壓器輸出中[變壓器] [http://docs.oracle.com/javase/7/docs/api/javax/xml/transform/OutputKeys.html#OMIT_XML_DECLARATION] .setOutputProperty(OutputKeys.OMIT_XML_DECLARATION,「yes」);' – McDowell