<level1>
<level2 id="123aaa">
<level3>
<level4 name="bbb" id="456"/>
</level3>
</level2>
</level1>
我想得到level2的id,level4的name和id
123aaa bbb 456
<level2 id="123aaa">
<level3>
<level4 name="bbb" id="456"/>
</level3>
</level2>
</level1>
我想得到level2的id,level4的name和id
123aaa bbb 456
org.w3c.dom.*;包可以
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
Document doc=db.parse("你的xml文件名");
NodeList n1=getElementsByTagName("level1");
Element e1=(Element)n1.item(0);
System.out.println(e1.getElementsByTagName("level2").item(0).getAttributes().item(0).getNodeValue());//level2的id;
n1=e1.getElementsByTagName("level3");
e1=(Element)n1.item(0);
System.out.println(e1.getElementsByTagName("level4").item(0).getAttributes().item(0).getNodeValue());//level4的name;
System.out.println(e1.getElementsByTagName("level4").item(0).getAttributes().item(1).getNodeValue());//level4的id;
这是核心代码,你在加点修饰就可以运行了。
try
{
Document dom=obj.read("你的xml文件名");
Element root=obj.getrootElement(dom);
Node level2=root.selectSingleNode("//level1/level2");
String level2_id=level2.valueOf("@id")
NOde level4=root.selectSingleNode("//level1/level2/level3/level4");
String level4_id=level4.valueOf("@id");
String level4_name=level4.valueOf("@name");
}
catch (Exception ex)
{}
正确应该如下:
Dom4j_XML obj=new Dom4j_XML();
try
{
Document dom=obj.read("你的xml文件名");
Element root=obj.getrootElement(dom);
Node level2=root.selectSingleNode("/level1/level2");
String level2_id=level2.valueOf("@id")
NOde level4=root.selectSingleNode("/level1/level2/level3/level4");
String level4_id=level4.valueOf("@id");
String level4_name=level4.valueOf("@name");
}
catch (Exception ex)
{}
Dom4j_XML obj=new Dom4j_XML();编译不能通过
try
{
SAXReader reader=new SAXReader();
Document document=reader.read(new File("你的xml文件名"));
Element root=obj.getrootElement(dom);
Node level2=root.selectSingleNode("/level1/level2");
String level2_id=level2.valueOf("@id")
NOde level4=root.selectSingleNode("/level1/level2/level3/level4");
String level4_id=level4.valueOf("@id");
String level4_name=level4.valueOf("@name");
}
catch (Exception ex)
{}
{
SAXReader reader=new SAXReader();
Document dom=reader.read(new File("你的xml文件名"));
Element root=dom.getrootElement();
Node level2=root.selectSingleNode("/level1/level2");
String level2_id=level2.valueOf("@id")
NOde level4=root.selectSingleNode("/level1/level2/level3/level4");
String level4_id=level4.valueOf("@id");
String level4_name=level4.valueOf("@name");
}
catch (Exception ex)
{}