dom4j解析xml

分享一个dom4j解析xml的一个小例子,其实在项目开发中dom4j用的并不多,网上有很多相关的例子,做一个简单的测试:

定义一个xml文件,名称为User.hbm.xml,内容为:

<hibernate-mapping>
<class name="cn.com.gjw.User" table="t_user">
<property name="username"></property>
<property name="password"></property>
</class>
</hibernate-mapping>


简单测试:

import java.io.File;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;


/**
 * @author gjw
 * 使用dom4j解析XML
 */
public class XMLTest {
public static void main(String[] args) throws Exception {
//用到的jar包为: dom4j-1.6.1.jar
SAXReader reader = new SAXReader();
Document document = reader.read(new File("User.hbm.xml"));
//获取根节点
Element rootElement = document.getRootElement();
System.out.println(rootElement.getName());
//获取子节点
for(Iterator iterator = rootElement.elementIterator(); iterator.hasNext();) {
Element element = (Element) iterator.next();
System.out.println(element.getName());
//获取子节点对应的属性
for (Iterator iterator2 = element.attributeIterator(); iterator2.hasNext();) {
Attribute attribute = (Attribute) iterator2.next();
System.out.println(attribute.getName() + " = " + attribute.getValue());
}
}

//使用xpath解析  用到的jar包为:jaxen-1.1.6.jar
List<Node> list = document.selectNodes("//hibernate-mapping/class/property");
for (Node node : list) {
System.out.println(node.getName());
//将node节点中名为name的属性打印出来。@代表属性
System.out.println(node.valueOf("@name"));
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值