java dom4j读取xml_Java DOM4J读取XML[通俗易懂]

java dom4j读取xml_Java DOM4J读取XML[通俗易懂]DOM4J是dom4j.org出品的一个开源XML解析包。Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,採用了Java集合框架并全然支持DOM,SAX和JAXP。Hibernate也是用它来读写配置文件的。一、DOM4j的下载dom4j-1.6.1.jar下载:http://sourceforge.net/directory/os:windows/fr…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

DOM4J是dom4j.org出品的一个开源XML解析包。Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,採用了Java集合框架并全然支持DOM,SAX和JAXP。Hibernate也是用它来读写配置文件的。

一、DOM4j的下载

dom4j-1.6.1.jar 下载:http://sourceforge.net/directory/os:windows/freshness:recently-updated/?q=dom4j

二、DOM4j解析XML文件

AirPortLine.xml文件例如以下:<?xml version=”1.0″ encoding=”UTF-8″?>

1

1

武汉

2

石家庄

3

北京

2

1

重庆

2

武汉

3

上海

4

东京

3

1

上海

2

纽约

Java DOM4J解析XML代码例如以下:package com.hsinghsu.testXML;

import java.io.File;

import java.util.Iterator;

import org.dom4j.Attribute;

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.DocumentHelper;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

public class testDOM4J {

public static void main(String[] args) {

try {

File file = new File(“AirPortLine.xml”);

SAXReader reader = new SAXReader();

Document doc = reader.read(file);

parseDOM4J(doc);// 解析XML文档

//String xmlStr = getStringFromXML(doc);// 将XML文档转换为String

//System.out.println(“xmlStr:” + xmlStr);

//String str = “<?xml version=’1.0′ encoding=’UTF-8′?>11武汉2石家庄3北京21重庆2武汉3上海4东京31上海2纽约”;

//Document document = getXMLDocFromString(str);// 将String转换为XML文档

} catch (Exception e) {

System.out.println(“Can’t read the file”);

}

}

// 解析XML文档

private static void parseDOM4J(Document doc) {

Element root = doc.getRootElement();

for (Iterator iter = root.elementIterator(“line”); iter.hasNext();) {// 遍历line结点的全部子节点,也能够使用root.elementIterator()

Element element = (Element) iter.next();

Attribute lidAttr = element.attribute(“lid”);// 获取元素的属性

String lid = lidAttr.getValue();// 获取元素的属性值

Attribute numAttr = element.attribute(“num”);// 获取元素的属性

String num = numAttr.getValue();// 获取元素的属性值

String id = element.elementText(“id”);// 获取元素下的值

System.out.println(“==lid:” + lid);

System.out.println(“==num:” + num);

System.out.println(“==路线id:” + id);

for (Iterator iterInner = element.elementIterator(“station”); iterInner.hasNext();) { // 遍历station结点的全部子节点

Element elementInner = (Element) iterInner.next();

String sid = elementInner.elementText(“sid”);// 获取元素下的值

String sname = elementInner.elementText(“sname”);// 获取元素下的值

System.out.println(“—-站–sid:” + sid);

System.out.println(“—-站–sname:” + sname);

}

}

}

// 将XML文档转换为String

private static String getStringFromXML(Document doc) {

return doc.asXML();

}

// 将String转换为XML文档

private static Document getXMLDocFromString(String str) {

try {

return DocumentHelper.parseText(str);

} catch (DocumentException e) {

e.printStackTrace();

return null;

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159391.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • C#查询数据库–ExecuteReader方法的使用

    C#查询数据库–ExecuteReader方法的使用在做数据库的查询过程中,使用方法ExecuteReader,其返回结果为MySqlDataReader,由于参考的信息有误,走了好长时间的弯路,记录下来; stringconnectionStr="server=localhost;uid=root;password=;database=db_family";stringsqlContent="select*f…

  • P750 内存插槽

    P750 内存插槽查看p750内存插槽占用情况lscfg-vp|grep-pDIMMMemoryDIMM:RecordName……………..VINIFlagField………………XXMSHardwareLocationCode……U78A0.001.DNWKM02-P1-C13-C2…

  • IPFS挖矿奖励分配机制,如何获得更大的出快机会,水滴科技Filecoin扇区封装及挖矿流程是怎样的?[通俗易懂]

    IPFS挖矿奖励分配机制,如何获得更大的出快机会,Filecoin扇区封装及挖矿流程是怎样的?Filecoin挖矿奖励区块奖励方面,在Filecoin总量20亿的FIL通证中,可以通过挖矿获得的部分为70%。其余为开发团队(15%)、投资人(10%),基金会(5%)的份额。就区块奖励而言,可挖通证的50%将在6年内挖出。目前奖励的具体参数还没有最终确定,当前测试网Filecoin区块奖励模型由“简单供给+网络基线供给”构成。  不少业内人士推测,在网络达到一定的目标存储规模之前,矿工的奖励会延迟

  • jQuery+PHP+Mysql在线拍照和在线浏览照片

    jQuery+PHP+Mysql在线拍照和在线浏览照片

  • stm32的语音识别_基于STM32的嵌入式语音识别模块设计

    stm32的语音识别_基于STM32的嵌入式语音识别模块设计引言服务机器人以服务为目的,因此人们需要一种更方便、更自然、更加人性化的方式与机器人交互,而不再满足于复杂的键盘和按钮操作。基于听觉的人机交互是该领域的一个重要发展方向。目前主流的语音识别技术是基于统计模式。然而,由于统计模型训练算法复杂,运算量大,一般由工控机、PC机或笔记本来完成,这无疑限制了它的运用。嵌入式语音交互已成为目前研究的热门课题。嵌入式语音识别系统和PC机的语音识别系统相比,虽然其…

  • UCF约束介绍_flcl alternative

    UCF约束介绍_flcl alternative约束(一)约束的分类:利用FPGA进行系统设计常用的约束主要分为3类。(1)时序约束:主要用于规范设计的时序行为,表达设计者期望满足的时序条件,知道综合和布局布线阶段的优化算法等。(2)布局布

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号