我正在處理一個項目,在該項目下我必須從服務器取出原始文件並將其轉換爲XML文件。將原始文件(二進制數據)轉換爲XML文件
java中是否有任何工具可以幫助我完成此任務,如JAXP可用於解析XML文檔?
我正在處理一個項目,在該項目下我必須從服務器取出原始文件並將其轉換爲XML文件。將原始文件(二進制數據)轉換爲XML文件
java中是否有任何工具可以幫助我完成此任務,如JAXP可用於解析XML文檔?
我想你會需要你以後使用的對象,以創建MyObject
,這將是一些豆,你將加載值形成的原始文件,你可以寫這someFile.xml
FileOutputStream os = new FileOutputStream("someFile.xml");
XMLEncoder encoder = new XMLEncoder(os);
MyObject p = new MyObject();
p.setFirstName("Mite");
encoder.writeObject(p);
encoder.close();
或者你囚徒TransformerFactory
去,如果你不需要爲後者使用的對象。
是的。這假設原始文件中的文本已經是XML。
你開始與DocumentBuilderFactory
得到DocumentBuilder
,然後你可以使用它的方法parse()
把輸入流爲Document
,這是一個內部的XML表示。
如果原始文件包含XML以外的內容,則需要以某種方式進行掃描(您自己的代碼在這裏),並使用您發現的內容從空的Document
中構建。
然後,我通常使用TransformerFactory
中的Transformer
將Document
轉換爲文件中的XML文本,但可能有一種更簡單的方法。
我認爲,如果你試圖將其加載到一個XmlDocument這將是罰款
JAXP也可以用來創建一個新的空文件:
Document dom = DocumentBuilderFactory.newInstance()
.newDocumentBuilder()
.newDocument();
然後你就可以使用該文檔創建元素,並追加並根據需要:
Element root = dom.createElement("root");
dom.appendChild(root);
但是,正如Jørn在對您的問題發表評論時注意到了,這完全取決於您想對這個「原始」文件做什麼:它應該如何轉換爲XML。只有你知道這一點。
這真的取決於你的應用程序中的「原始文件」。 – 2010-01-06 13:37:59