2011-09-14 67 views
1

我試圖做的是將對象轉換爲XML,然後使用一個字符串通過Web服務,以便其他平臺(.NET在這種情況下),轉移它可以讀取xml,然後將其解壓到同一個對象中。我一直在閱讀這篇文章:問題從一個對象轉換爲XML在java中

http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php#start

而且我已經能夠做的一切,沒有任何問題,直到這裏:

Serializer serializer = new Persister(); 
PacienteObj pac = new PacienteObj(); 
pac.idPaciente = "1"; 
pac.nomPaciente = "Sonia"; 
File result = new File("example.xml"); 
serializer.write(pac, result); 

我知道這聽起來很傻,但我可以」找到Java創建新文件的位置(「example.xml」);所以我可以檢查信息。

而且我想知道是否有任何方式將XML轉換爲字符串,而不是一個文件,因爲這是我需要的究竟。我無法在文章中找到這些信息。

在此先感謝。

+1

是否需要這個對象轉換爲XML。 JSON會工作嗎?這對你來說很容易。 –

+0

檢查您的用戶的主目錄 - Windows下的我的文檔或Unix下的〜用戶名。它很可能在那裏。 – mcfinnigan

+0

我想要將對象轉換爲xml的簡單方法。我會檢查JSON是否適合我。 PD:我仍然無法找到那個... xml!銀!聽起來很愚蠢! – Sonhja

回答

5

而且我想知道是否有任何方式將XML轉換爲字符串,而不是一個文件,因爲這是我需要的究竟。我無法在文章中找到這些信息。

退房的Javadoc。有a method that writes to a Writer,所以你可以把它掛到一個StringWriter的(其寫入到一個字符串):

StringWriter result = new StringWriter(expectedLength); 
serializer.write(pac, result) 
String s = result.toString(); 
+0

是的,我看到了,正因爲如此,我知道我可以做到。我將進一步調查作家班。 – Sonhja

+0

該解決方案是我正在尋找的解決方案!謝謝你太多了! – Sonhja

1

登錄或打印下面的語句將告訴你該文件是在文件系統上。

result.getAbsolutePath() 
3

您可以使用StringWriter一個實例:

Serializer serializer = new Persister(); 
PacienteObj pac = new PacienteObj(); 
pac.idPaciente = "1"; 
pac.nomPaciente = "Sonia"; 

StringWriter result = new StringWriter(); 
serializer.write(pac, result); 
String xml = result.toString(); // xml now contains the serialized data 
+0

謝謝,我會試試你的答案;) – Sonhja