以下是java文件
                  InputStream fin;
Reader reader = new Reader();
try { fin = new FileInputStream("test.xml");
fin.read();
Properties pro = new Properties();
pro.loadFromXML(fin);
pro.list(System.out);
} catch (Exception e) {
e.printStackTrace();
} test.xml文件<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> 
<properties> 
<comment>Hello</comment> 
<entry>bar</entry> 
<entry>baz</entry> 
</properties> 但始终抛这个异常InvalidPropertiesFormatException,格式不对,但应该是对的啊,为此很困惑
我jdk是1.6的!!

解决方案 »

  1.   

    Caused by: org.xml.sax.SAXParseException: Attribute "key" is required and must be specified for element type "entry".
    在entry元素内加上key属性就可以了
    我改为<entry key="1">bar </entry>
    <entry key="2">baz </entry> 后 运行结果为:
    -- listing properties --
    2=baz 
    1=bar 
      

  2.   

    是这样的,谢谢啊我还有一问题希望指教一下:   我用loadFromXML这个方法的时候他报IOException这个异常,我已经试过了,传进去的参数对文件是可以读出来的,但总抛这个错误。
    后来我写成下面这个形式就好用了
    pro.loadFromXML(new FileInputStream(new File("D:\\Workspace\\HelloWorld\\src\\com\\properties\\test1.xml")));
    等好用了之后,我又将他们分开定义,也好用了,我就是不明白之前为什么抛那个异常,一直很困惑,希望在指教下