[Java] XML 解析 与 Dom4j 的使用
来源:互联网 发布:ipad蜂窝移动数据在哪 编辑:程序博客网 时间:2024/05/17 03:26
DOM4JTest.java
package com.bjsxt.dom4j;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.Iterator;import java.util.List;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.Node;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;public class DOM4JTest { public static void main(String[] args) throws Exception { SAXReader reader = new SAXReader(); Document document = reader.read(new File("User.hbm.xml")); Element rootElement = document.getRootElement(); p(rootElement.getName()); // 枚举所有子节点 for (Iterator i = rootElement.elementIterator(); i.hasNext();) { Element element = (Element) i.next(); // do something p(element.getName()); // 枚举属性 for (Iterator j = element.attributeIterator(); j.hasNext();) { Attribute attribute = (Attribute) j.next(); // do something p(attribute.getName() + "-" + attribute.getValue()); } } // xpath = xml+path List<Node> list = document.selectNodes("//hibernate-mapping/class/property"); //Node node = document.selectSingleNode("//hibernate-mapping/class/property"); 只拿第一个 //String name = node.valueOf( @name ); for (Node n : list) { p(n.getName()); p(n.valueOf("@name")); } createDocument(); } public static void p(Object o) { System.out.println(o); } public static Document createDocument() throws Exception { Document document = DocumentHelper.createDocument(); Element root = document.addElement("hibernate-mapping"); Element classElement = root.addElement("class") .addAttribute("name", "com.bjsxt.User") .addAttribute("table", "t_user"); classElement.addElement("property").addAttribute("name", "username"); /* FileWriter out = new FileWriter("User1.hbm.xml"); document.write(out); out.flush(); out.close(); */ // 美化格式 OutputFormat format = OutputFormat.createPrettyPrint(); XMLWriter writer = new XMLWriter( new FileWriter( "User2.hbm.xml" ), format ); writer.write( document ); writer.close(); return document; } }User.hbm.xml
<hibernate-mapping><class name="com.bjsxt.User" table="t_user"><property name="username"></property><property name="password"></property></class></hibernate-mapping>User2.hbm.xml
<?xml version="1.0" encoding="UTF-8"?><hibernate-mapping> <class name="com.bjsxt.User" table="t_user"> <property name="username"/> </class></hibernate-mapping>--
---
0 0
- [Java] XML 解析 与 Dom4j 的使用
- java使用dom4j解析xml的笔记
- java 使用 dom4j 解析 XML
- java 使用dom4j解析xml
- JAVA 使用Dom4j 解析XML
- java使用dom4j解析xml
- JAVA 使用Dom4j 解析XML
- JAVA 使用Dom4j 解析XML
- JAVA 使用Dom4j 解析XML
- java使用dom4j解析xml
- JAVA 使用Dom4j 解析XML
- JAVA 使用Dom4j 解析XML
- JAVA 使用Dom4j 解析XML
- JAVA 使用Dom4j 解析XML
- JAVA 使用Dom4j 解析XML
- JAVA 使用Dom4j 解析XML
- JAVA 使用Dom4j 解析XML
- JAVA 使用Dom4j 解析XML
- tomcat环境变量的配置
- 黑马程序员------- 异常和多线程-------
- No space left on device
- cloud miner 云矿机云矿工挖比特币CEX GHash.io全球最大矿池使用说明
- 多文本合并
- [Java] XML 解析 与 Dom4j 的使用
- c-菜鸟的第一天
- Windows平台下PHP+Apache开发环境搭建方法备忘录
- 职责链模式----C++实现
- Ubuntu设置root密码
- snmp的应用
- [Java] XML_AJAX_DOM4J_JavaDB_database MetaData.doc Learning Notes
- 关于 SKAction fadeout 并 removeFromParent 后显示的node 得不到响应问题
- GCDAsyncSocket类库,IOS下TCP通讯使用心得