<?xml version="1.0" encoding="utf-8"?><ContainerA id="container">
<ContainerA id="ca_idnum" >
<Text id="t_idnum"></TextView>
<Edit id="e_idnum"></EditText>
</ContainerA> <ContainerB id="cb_sel">
<Select id="select"></Select>
</ContainerB></ContainerA>上面这段xml,containerA 、 ContainerB都表示容器。
我想解析这段xml,并在控制台system.out.println出来每个节点的id,如何做?最好来点代码

解决方案 »

  1.   

    使用dom4j,附一段参考代码:
    你写的xml有错误,Text和TExtView不配对,Edit和EditView不配对 private static Collection<Dictionary> loadDictionaryFormXml2() throws Exception {
    String s = "<ContainerA id=\"container\"><ContainerA id=\"ca_idnum\">"
    + "<Text id=\"t_idnum\"></Text><Edit id=\"e_idnum\"></Edit>"
    + "</ContainerA><ContainerB id=\"cb_sel\">"
    + "<Select id=\"select\"></Select></ContainerB></ContainerA>";
    Document document = DocumentHelper.parseText(s);
    printID(document.getRootElement());
    return null;
    }
    private static void printID(Element element) {
    Attribute attribute = element.attribute("id");
    if(attribute != null)
    System.out.println(element.getName() + "->" + attribute.getValue());
    @SuppressWarnings("unchecked")
    List<Element> elementList = element.elements();
    for(Element e : elementList) {
    printID(e);
    }
    }

    public static void main(String[] args) throws Exception{
    loadDictionaryFormXml2();
    }
    以上代码为可用代码,输出为ContainerA->container
    ContainerA->ca_idnum
    Text->t_idnum
    Edit->e_idnum
    ContainerB->cb_sel
    Select->select
      

  2.   

    随便找个DOM4J的例子应该就搞定了……