怎么用dom4j解析xml文件
1个回答
展开全部
首先你要准备好dom4j.jar文件,Ta的来源你可以直接去官网下载,当然在百度有也有很多,这个只能自己动下手,Ta张的样子就像下图中那样,并且Ta的运行需要commons-io.jar的支持,
这里列出了一会要用到的文件test.xml,第一幅图显示了xml内的结构,第二个图是解析xml文档的全部代码,先整体看一下,然后对几个关键部分进行分别讲解。
这里定义了一个解析器,并且指定了要解析的xml文件的位置,就像这样:
Document d = reader.read("src/com/test.xml");
Element root = d.getRootElement();
得到解析器后又通过getRootElement方法得到了xml文件根节点,有了根节点就可以进行后续的操作了。
以下的第一张图,这里去遍历了跟节点下的第一级所有孩子节点,
for ( Iterator i = root.elementIterator(); i.hasNext(); ) {
Element element = (Element) i.next();
System.out.println("1-->"+element.getName());
}
在第二个图中,依然是遍历了第一级孩子节点,但是对孩子节点中属性值进行了获取,
for ( Iterator i = root.elementIterator( "student" ); i.hasNext(); ) {
Element foo = (Element) i.next();
System.out.println(" 2-->"+foo.getText());
for ( Iterator j = foo.attributeIterator(); j.hasNext(); ) {
Attribute attribute = (Attribute) j.next();
System.out.println(" 2_1-->"+attribute.getText());
}
}
在第三个图中,对根节点中属性值进行了获取,
for ( Iterator i = root.attributeIterator(); i.hasNext(); ) {
Attribute attribute = (Attribute) i.next();
System.out.println(" 3-->"+attribute.getText());
}
这里列出了一会要用到的文件test.xml,第一幅图显示了xml内的结构,第二个图是解析xml文档的全部代码,先整体看一下,然后对几个关键部分进行分别讲解。
这里定义了一个解析器,并且指定了要解析的xml文件的位置,就像这样:
Document d = reader.read("src/com/test.xml");
Element root = d.getRootElement();
得到解析器后又通过getRootElement方法得到了xml文件根节点,有了根节点就可以进行后续的操作了。
以下的第一张图,这里去遍历了跟节点下的第一级所有孩子节点,
for ( Iterator i = root.elementIterator(); i.hasNext(); ) {
Element element = (Element) i.next();
System.out.println("1-->"+element.getName());
}
在第二个图中,依然是遍历了第一级孩子节点,但是对孩子节点中属性值进行了获取,
for ( Iterator i = root.elementIterator( "student" ); i.hasNext(); ) {
Element foo = (Element) i.next();
System.out.println(" 2-->"+foo.getText());
for ( Iterator j = foo.attributeIterator(); j.hasNext(); ) {
Attribute attribute = (Attribute) j.next();
System.out.println(" 2_1-->"+attribute.getText());
}
}
在第三个图中,对根节点中属性值进行了获取,
for ( Iterator i = root.attributeIterator(); i.hasNext(); ) {
Attribute attribute = (Attribute) i.next();
System.out.println(" 3-->"+attribute.getText());
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询