dom4j解析xml

    xiaoxiao2021-03-25  59

    分享一个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")); } } }

    转载请注明原文地址: https://ju.6miu.com/read-33555.html

    最新回复(0)