XML与DOM4J
来源:互联网 发布:经营数据分析报告 编辑:程序博客网 时间:2024/05/15 07:45
XML概述
XML:可扩展标记语言,初衷是为了替代html语言,定义了很规范的格式,但是没有达到了最初的期望,后来人们利用这个特点用作于 配置文件 封装数据 文件传输。
与html主要区别:
xml区分大小写很敏感,html不区分
文档中有一个CDATA区,会按照纯文本解析
<?xml version="1.0" encoding="UTF-8"?><ConnectionAddress.xml> <person1 id="i1"> <name>alice</name> <phoneNumber class="c1">77--88-99</phoneNumber> </person1> <person2 id="i2"> <name>bob</name> <phoneNumber class="c2">89--87-96</phoneNumber> </person2> <person3 id="i3"> <name>jack</name> <phoneNumber class="c3">65--77--12</phoneNumber> </person3></ConnectionAddress.xml>
dom4j的基本方法使用
//导入jar包
如图所示,选中jar包右键选中buildPath然后或出现“小奶瓶”
即配置成功
// 创建解析器对象
new SAXReader();
//读取写好的xml文件
SAXReader reader = new SAXReader();Document doc = reader.read(new FileInputStream( "ConnectionAddress"));
jar包中给我们提供了许多获取xml的方法
获取节点对象
Node node = doc.node(0);
只能获取一个子节点
获取所有的节点
Iterator iterator = doc.nodeIterator();
抽取方法获取所有的节点
getNodes(rootElement);
同理标签和属性一样都有类似方法
import java.io.FileInputStream;import java.io.FileNotFoundException;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.io.SAXReader;public class demo { public static void main(String[] args) { //导入jar包 // 创建解析器对象 SAXReader reader = new SAXReader(); try { // 读取xml文件 Document doc = reader.read(new FileInputStream( "ConnectionAddress")); // 获取根标签 Element rootElement = doc.getRootElement(); // 获取所有标签并打印 List<Element> list = rootElement.elements(); for (Element e : list) { System.out.println(e.getName()); } Iterator<Element> iterator2 = rootElement.elementIterator(); while(iterator2.hasNext()){ Element element = iterator2.next(); System.out.println(element.getName()); } System.out.println("------------"); // 获取标签属性 Attribute attribute = rootElement.element("person1").attribute(0); System.out.println(attribute.getName()+":"+attribute.getValue()); //或者通过集合 List<Attribute> list2 = rootElement.attributes(); for(Attribute a:list2){ System.out.println(a.getName()+":"+a.getValue()); } //迭代器 Iterator<Attribute> iterator = rootElement.attributeIterator(); while(iterator.hasNext()){ Attribute a2 = iterator.next(); System.out.println(a2.getName()+":"+a2.getValue()); } //获取文本内容 getText() 或者 elementText() String name1 = rootElement.element("person1").element("name").getText(); System.out.println(name1); String name2 = rootElement.element("person2").elementText("name"); System.out.println(name2); } catch (FileNotFoundException e) { System.out.println("未找到文件"); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
阅读全文
0 0
- XML与DOM4J
- Dom4j与JDOM读写XML
- Dom4j解析Xml与Dom解析Xml
- 使用Dom4j创建与解析XML文件
- DOM4J生成与读取XML文档
- jaxp与dom4j遍历xml树
- [Java] XML 解析 与 Dom4j 的使用
- java解析与生成xml(四): DOM4J
- dom4j方式写入与解析XML
- dom4j解析与生成xml文件
- 基于dom4j的xml创建与解析
- XML----DOM4J
- xml ---dom4j
- Dom4j 生成XML文档与解析XML…
- Java与XML(二):使用Dom4j 操作 XML 文件
- Dom4j 生成XML文档与解析XML文档
- java与xml之DOM4J生成和解析XML文档
- java与xml之DOM4J生成和解析XML文档
- 大数据是什么?一文秒读懂大数据
- 智能指纹锁与指静脉技术的开发
- 解决IOSwebview加载H5页面点击2次会上移方案
- excel 打开显示安装office自定义项 安装期间出错
- CodeForces
- XML与DOM4J
- win10下配置DBoW2的问题
- DNS解析导致HDFS连接建立过慢
- 多线程编程之InheritableThreadLocal
- $.ajax中的contentType
- 匿名内部类----细节
- Windows下Anaconda+Pycharm配置opencv和keras(tensorflow cpu版)
- 开发者速查表 CheatSheet 鼠标垫来了,你想要哪款?
- jeeweb敏捷开发平台的环境配置详解