下面XML该如何解析:
<?xml version='1.0' encoding='UTF-8'?>
<statType>
<time value=”2011-10-02 21:07:20” />
<name>
<edition value=”222” />
<defaultAD>
  <property name=”id” value=”1” />
<property name=”age” value=”2” />
<property name=”scott” value=”3” />
<property name=”sex” value=”4” />
</defaultAD>
<defaultAD>
<property name=”id” value=”1” />
<property name=”age” value=”2” />
<property name=”scott” value=”3” />
<property name=”sex” value=”4” />
</defaultAD>
<defaultAD>
<property name=”id” value=”1” />
<property name=”age” value=”2” />
<property name=”scott” value=”3” />
<property name=”sex” value=”4” />
</defaultAD>
</name>
<names>
<edition value=”333” />
<are>
<property name=”id” value=”1”/>
<property name=”age” value=”2”/>
<property name=”scott” value=”3”/>
<property name=”sex” value=”4”/>
</are>
<are>
<property name=”id” value=”1”/>
<property name=”age” value=”2”/>
<property name=”scott” value=”3”/>
<property name=”sex” value=”4”/>
</are>
</names>
</statType> 

解决方案 »

  1.   

    常见的处理XML的代码,有这样几种编写方式:
    1 用JRE中的自带的JAXP
    2 用第三方的类库Dom4J
    3 或者用类库jdom
      

  2.   

    怎么解析在于你想得到什么?
    jdk自带的就有 dom、sax、xpath、jaxb、stax(stream)还有第三方提供的 jdom、dom4j、xom等等。
      

  3.   

    恩 这个我知道  我一般用得是Dom4J的 这个也是打算用Dom4J去解析 但是 就是解析不出来 如果是<name>1</name>
    <sex>2</sex>
    我就可以解析出来!
      

  4.   

    使用xpath:
            FileReader reader = new FileReader("/tmp/stattype.xml");
            InputSource input = new InputSource(reader);
            XPathFactory factory = XPathFactory.newInstance();
            XPath xpath = factory.newXPath();
            NodeList list = (NodeList)xpath.evaluate("//property",input,XPathConstants.NODESET);
            for(int i = 0; i < list.getLength(); i++){
                Node node = list.item(i);
                System.out.printf("name:%s value:%s%n",
                                  (String)xpath.evaluate("@name",node,XPathConstants.STRING),
                                  (String)xpath.evaluate("@value",node,XPathConstants.STRING));
            }
    输出:
    name:id value:1
    name:age value:2
    name:scott value:3
    name:sex value:4
    name:id value:1
    name:age value:2
    name:scott value:3
    name:sex value:4
    name:id value:1
    name:age value:2
    name:scott value:3
    name:sex value:4
    name:id value:1
    name:age value:2
    name:scott value:3
    name:sex value:4
    name:id value:1
    name:age value:2
    name:scott value:3
    name:sex value:4
      

  5.   

    哦。
    5楼XPath的点子应该是可以的。
    楼主贴代码吧。
      

  6.   

    5L  如果不使用xpath,而是用dom4J该如何解析呢? 也请教大家
      

  7.   

    dom4j也支持xpath,Node接口提供的那几个selectXXX方法
      

  8.   

    你的那段xml直接复制下来后,需要先把里面的引号替换成英文引号。
      

  9.   

    xpath也包含在dom4j里,不过需要引个包jaxen-1.1-beta-7.jar。我有个xpath工具,你可以参考下:http://blog.csdn.net/afer198215/article/details/6851428
      

  10.   

    俺一直用第三方插件,jdom....