2012-10-01 31 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'] /文()