Dom4j原样读取XML
来源:互联网 发布:邓紫棋的喜欢你 知乎 编辑:程序博客网 时间:2024/06/05 05:15
Demo:
package com.dom4j.red;
import java.io.File;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.Text;
import org.dom4j.io.SAXReader;
/**
* 完整的读取xml的内容
* @author zhiyong
*
*/
public class Demo3 {
//定义变量存放
public static StringBuilder sb = new StringBuilder();
public static void main(String[] args) throws DocumentException {
//创建xml解析器对象
SAXReader reader = new SAXReader();
//读取xml文档,返回Document对象
Document document = reader.read(new File("./src/contact.xml"));
//读取根标签下的所有子标签
Element rootEle = document.getRootElement();
String str = getChildNodes(rootEle);
System.out.println(str);
}
/**
* 获取当前标签下的所有子标签
* @param ele
*/
public static String getChildNodes(Element ele){
//开始标签
sb.append("<" + ele.getName());
//获取属性
List<Attribute> attList = ele.attributes();
for(Attribute att : attList){
String attName = att.getName();
String attValue = att.getValue();
sb.append(" " + attName + "=\"" + attValue + "\"");
}
sb.append(">");
//获取传入标签下的直接子节点
Iterator<Node> it = ele.nodeIterator();
while(it.hasNext()){
Node node = it.next();
//标签
if(node instanceof Element){
Element n = (Element)node;
getChildNodes(n);
}
//文本
if(node instanceof Text){
Text t = (Text)node;
sb.append(t.getText());
}
}
//结束标签
sb.append("</" + ele.getName() + ">");
return sb.toString();
}
}
xml文件
<?xml version="1.0" encoding="utf-8"?>
<contactList>
<contact id="001" att1="属性值1">
<name>木丁西<nameNode>小刘</nameNode></name>
<age>18</age>
<phone>18071897425</phone>
<email>1012421396@qq.com</email>
<qq>1012421396</qq>
</contact>
<木丁西>
这是个什么鬼。
</木丁西>
<contact id="002">
<name>刘先森</name>
<age>20</age>
<phone>18771897466</phone>
<email>561242139@qq.com</email>
<qq>561242139</qq>
</contact>
<abc>
</abc>
</contactList>
效果:
0 0
- Dom4j原样读取XML
- SAX原样读取XML
- [dom4j]dom4j读取XML小结
- Dom4J读取XML
- xml 读取 dom4j
- xml文件读取-dom4j
- Dom4j读取xml
- dom4j读取xml文件
- Dom4j读取xml
- dom4j读取xml
- dom4j读取xml文件
- dom4j读取,解析xml
- 使用DOM4J读取XML
- dom4j读取xml文件
- dom4j读取xml文档
- dom4j读取xml文档
- Dom4j读取XML文件
- java读取xml Dom4j
- 从今天开始,把以前学的一些算法和代码整理一下,希望能坚持得住啊啊啊
- Oracle数据图形画界面不能修改日期和数据问题
- 算法作业_7(2017.3.16第四周)
- codevs1245 最小的N个和 优先队列
- 空想误终身,实干出英雄
- Dom4j原样读取XML
- zoj 雷达覆盖(计算几何 向量)
- Mysql 子查询 出现 Every derived table must have its own alias 错误
- 【数据结构】忘了的一些C语言常识
- dpkg 被中断,您必须手工运行 sudo dpkg –configure -a解决此问题
- 3.16学习内容
- Hadoop之——hadoop下配置文件说明
- 【菜鸟之路】RecyclerView添加Item点击事件
- Vulkan编程指南翻译 第七章 图形管线 第3节 帧缓冲区