2012-02-23 86 views
0

我有一個帶有參數的字符串,這是我的軟件的結果。Java&XML - 帶有至XML的字符串的字符串

例如,System.out.println("The number is:" + count)是結果之一。參數可以是任何類型:int,doubleDate類型。

現在我想把這個字符串(例如參數count)放在一個向量或任何其他數據結構中,然後創建XML,稍後加載它。有什麼辦法可以做到這一點?

謝謝。

+0

我想你會找到一個合適的解決方案[這裏] [1] [1]:http://stackoverflow.com/questions/3056896/easy-xml-serializer-for-java – mac 2012-02-23 08:26:24

回答

0

您可以創建自己的java bean,它將保存消息,參數類型和值(如果需要,也可能是參數名稱)。

Person joe = new Person("Joe", "Walnes"); 
joe.setPhone(new PhoneNumber(123, "1234-456")); 
joe.setFax(new PhoneNumber(123, "9999-999")); 

XStream xstream = new XStream(); 

String xml = xstream.toXML(joe); 

將導致下面的XML:

<person> 
    <firstname>Joe</firstname> 
    <lastname>Walnes</lastname> 
    <phone> 
    <code>123</code> 
    <number>1234-456</number> 
    </phone> 
    <fax> 
    <code>123</code> 
    <number>9999-999</number> 
    </fax> 
</person> 

重建你的目標只是:

這個自定義對象可以通過使用 XStream API它是非常簡單的被取消/序列化從/到XML
Person newJoe = (Person)xstream.fromXML(xml); 

或者,您可以根據java標準包(SAX)準備自己的(簡單的)de/serialization實用程序。 Example

你的XML可以是這樣的:

<strings> 
    <mystring> 
     <message> 
      "The number is:" 
     </message> 
     <paramType> 
      int 
     </paramType> 
     <paramVal> 
      42 
     </paramVal> 
    </mystring> 
    ... 
    <mystring> 
     <message> 
      "The date is:" 
     </message> 
     <paramType> 
      Date 
     </paramType> 
     <paramVal> 
      07/04/2012 
     </paramVal> 
    </mystring> 
</strings> 

祝你好運!