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;

}

}

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mac上的mysql管理工具sequel pro

    mac上的mysql管理工具sequel pro

    2021年10月17日
    51
  • fast使用教程_ai基础教程入门图文

    fast使用教程_ai基础教程入门图文https://docs.fast.ai/如何利用好FASTAI——新版本fastai-v1.0快速入门https://m.oldpan.me/archives/fastai-1-0-quick-study

    2025年8月27日
    7
  • serv-u搭建ftp服务器心得_U服务

    serv-u搭建ftp服务器心得_U服务1、先安装好Serv-U,并作为系统服务安装2、打开Serv-U,新建一个域3、添加用户4、解决阿里云专有网络的一个问题遇到一个情景:需要使用Serv-U进行FTP更新软件,其中使用PASV的连接方式,这种方式客户要求连接FTP的时候,Serv-U会随机产生一个端口发送给客户端,告诉客户端通过这个端口来发送文件;而阿里云专有网…

    2025年10月31日
    3
  • (20211206更新)ubuntu18.04 安装Python3.8.3、jupyter notebook远程连接配置、虚拟环境搭建。及torch、tensorflow成功下载[通俗易懂]

    (20211206更新)ubuntu18.04 安装Python3.8.3、jupyter notebook远程连接配置、虚拟环境搭建。及torch、tensorflow成功下载[通俗易懂]最近搞了一个低配云服务器,就瞎整。多次踩坑后,进行记录问题之前有试过删除软链接、进行替换#删除软连接sudorm-rf/usr/bin/python3sudorm-rf/usr/bin/pip3#新建软连接sudoln-s/usr/local/python3/bin/python3.8/usr/bin/python3sudoln-s/usr/local/python3/bin/pip3.8/usr/bin/pip3但是吧,后续的pipinstall会出

    2022年6月23日
    38
  • mysql面试题目及答案_docker 面试题

    mysql面试题目及答案_docker 面试题1.事务的基本特征原子性(atomicity):一个事务必须视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。一致性(consistency):数据库总数从一个一致性的状态转换到另一个一致性的状态。隔离性(isolation):一个事务所做的修改在最终提交以前,对其他事务是不可见的…

    2022年8月27日
    3
  • 如何直接运行jar包_怎么运行jar文件

    如何直接运行jar包_怎么运行jar文件怎么后台运行jar包1.后台运行jar包[root@slaver5testshanghai]#nohupjava-jarplaningprojectweb-2020120813.jar&nohup:不挂断地运行命令,输出都将附加到当前目录的nohup.out文件中。如果当前目录的nohup.out文件不可写,输出重定向到$HOME/nohup.out文件中&:后台运行查看nohup.out[root@slaver5testshanghai]#cat

    2022年9月29日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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