2012-12-06 110 views
0

我很努力去理解Java Simple。關於它的一些東西看起來很酷,但我無法理解如何使用它。需要`Hello World`爲Java簡單示例

我找不到一個'Hello World'示例來演示如何將各個零件組裝在一起。我正在尋找這樣的東西;

預期輸出

<durr/> 

Demo.java

public class Demo { 
    public static void main(String[] args) { 
     String str = new Foo(); 
     System.out.println(str); 
    } 
} 

Foo.java

import org.simpleframework.xml.Root; 

@Root 
public class Foo{ 
    // Something 
} 

編譯和運行

javac Demo.java Foo.java 
java Demo 

摘要

什麼是可以輸出<durr/>使用簡單最簡單的演示?

+0

您也應該檢查出JAXB:HTTP: //blog.bdoughan.com/2010/10/how-does-jaxb-compare-to-simple.html –

回答

1

simple's documentation直接引用:

要序列需要持留上述目的的一個實例。 persister對象然後被賦予一個註釋對象的實例和一個輸出結果,這是本例中的一個文件。其他輸出格式可以用persister對象來實現。

所以基本上,我會說你的演示類可以通過以下方式來寫:

import java.io.File; 
import org.simpleframework.xml.Serializer; 
import org.simpleframework.xml.core.Persister; 

public static void main(String[] args) throws Exception { 

    Foo foo = new Foo(); 
    Serializer serializer = new Persister(); 
    File result = new File("example.xml"); // XML OUTPUT WILL BE WRITTEN HERE 
    serializer.write(foo, result); 
} 

再次,根據記錄,我會說,這將產生一個<foo/>標籤上,因爲它是你的類的名稱,將其更改爲<duur/>輸出你有根標籤在你Foo類重新定義的名稱,如:

import org.simpleframework.xml.Root; 

@Root(name="durr") 
public class Foo{ 
// Something 
} 
+0

感謝pabrantes。但是我仍然無法編譯它。我得到'不兼容的類型:Foo'。如果該行被改爲'Foo foo = new Foo();'而不是'String str = new Foo();'? –

+0

@NigelAlderton:對不起Nigel,這是我在回覆你時做的複製粘貼錯誤。我已經解決了這個問題,現在應該可以工作。 – pabrantes

+0

然後說'未引發異常java.lang.Exception;必須被捕獲或聲明爲'serializer.write(foo,result);'。此外,這些進口是必需的; '的java.io.File; org.simpleframework.xml.Serializer; org.simpleframework.xml.core.Persister;'。添加try/catch和這些導入後,它就可以工作!感謝您的幫助,我現在理解了基本想法。 –