DOM4J
编程技术  /  houtizong 发布于 3年前   45
<?xml version="1.0" encoding="UTF-8"?><hibernate-mapping><class name="cn.edu.hpu" table="t_user"><property name="username"></property><property name="password"></property></class></hibernate-mapping>
package cn.edu.hpu;import java.io.File;import java.util.*;import org.dom4j.*;import org.dom4j.io.SAXReader;public class Dom4jTest {public static void main(String[] args) {//建立SAXReader对象SAXReader reader = new SAXReader();Document document = null;try {//获得文档的Document的对象document = reader.read(new File("dom4jTest.xml"));} catch (DocumentException e) {e.printStackTrace();}//获得根标签Element rootElement = document.getRootElement();System.out.println(rootElement.getName());//OUTPUT_RESULT:hibernate-mapping/***********第一种获得节点和属性的方法,使用的比较少***********/for(Iterator it = rootElement.elementIterator(); it.hasNext();) {//获得根标签的子标签Element element = (Element)it.next();System.out.println(element.getName());//OUTPUT_RESULT:classfor(Iterator it1 = element.attributeIterator(); it1.hasNext();) {Attribute attribute = (Attribute)it1.next();System.out.println(attribute.getName() + "-" + attribute.getValue());//OUTPUT_RESULT:name-cn.edu.hpu table-t_user}}/***********第一种获得节点和属性的方法,使用的比较少***********/}}
//使用xpath进行获取节点,下面语句表示拿出此path下所有property节点List<Node> nodes = document.selectNodes("//hibernate-mapping/class/property");for(Node node : nodes) {System.out.println(node.getName());//OUTPUT_RESULT:property property//此处表示取出node中名为name的属性值System.out.println(node.valueOf("@name"));//OUTPUT_RESULT:username password}//获得单个节点Node node = document.selectSingleNode("//hibernate-mapping/class/property");System.out.println(node.getName());//OUTPUT_RESULT:property
package cn.edu.hpu;import java.io.FileWriter;import org.dom4j.*;import org.dom4j.io.*;public class BuildXML {public static void main(String[] args) throws Exception {createXML();}public static Document createXML() throws Exception {//创建Document对象Document document = DocumentHelper.createDocument();//加入根节点Element root = document.addElement("hibernate-mapping");//加入其它的节点与属性Element classNode = root.addElement("class") .addAttribute("name", "cn.edu.hpu") .addAttribute("table", "t-user");classNode.addElement("property").addAttribute("name", "username");//文件的输出,此处输出的文件格式不好/*FileWriter fWriter = new FileWriter("create.XML");document.write(fWriter);fWriter.flush();fWriter.close();*///使用XMLWriter对象进行输出,得到比较标准的格式//创建相应的输出格式OutputFormat format = OutputFormat.createPrettyPrint();//创建XMLWriter对象XMLWriter fWriter = new XMLWriter(new FileWriter("create.XML") , format);fWriter.write(document);fWriter.close();return document;}}
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接