<?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,如何做?最好来点代码
<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,如何做?最好来点代码
你写的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