2012-10-01 59 views
0

我想將包含在XML文件中的值存儲到java字符串對象中。 這裏是我的XML代碼:將XML值存儲爲JAVA中的字符串

<properties> 
    <comment>test.xml</comment> 
    <entry key="1">test1</entry> 
    <entry key="2">test1,test2,test3</entry> 
    <entry key="3">test1,test2,test3</entry> 
<properties> 

我想「值」將被存儲在一個字符串。 如:

String msg; 
if(msg.equals("1")){ 
    String str1 = //get values of key "1" (ie) test1 
} 
else if(msg.equals("2")){ 
    String str2 = //get values of key "2" (ie) test1,test2,test3 
} 

有沒有辦法使用HashMap的或任何這樣做? 謝謝。

+3

想到一個XML解析器。請參閱:http://stackoverflow.com/questions/373833/best-xml-parser-for-java – heikkim

+2

使用Jaxb http://www.oracle.com/technetwork/articles/javase/index-140168.html –

回答

0

這看起來像一個Java XML屬性文件。如果是這樣,您可以通過調用properties.loadFromXML將它直接加載到Properties對象中。

Properties prop = new Properties(); 
FileInputStream fis = new FileInputStream("props.xml"); 
prop.loadFromXML(fis); 
System.out.println("Value of key 1 is: " + prop.getProperty("1")); //prints test1 

注意,對於這項工作,XML文檔必須具有以下DOCTYPE聲明:

<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> 
0

您可以使用XPath它,例如,它看起來就像這樣:

//屬性/進入[@key = '1'] /文()