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)
上一篇 2022年7月26日 下午1:36
下一篇 2022年7月26日 下午1:46


相关推荐

  • java8 stream接口终端操作 count,anyMatch,allMatch,noneMatch

    java8 stream接口终端操作 count,anyMatch,allMatch,noneMatch对于中间操作和终端操作的定义,请看《JAVA8stream接口中间操作和终端操作》,这篇主要讲述的是stream的count,anyMatch,allMatch,noneMatch操作,我们先看下函数的定义longcount();booleananyMatch(Predicate<?superT>predicate);…

    2022年10月9日
    3
  • 13.1.2 拷贝赋值运算符、析构函数、三/五法则、阻止拷贝

    13.1.2 拷贝赋值运算符、析构函数、三/五法则、阻止拷贝

    2021年6月10日
    87
  • 被动信息收集

    被动信息收集被动信息收集概述和目的信息收集的方式分为两种:被动和主动。被动信息收集方式是指利用第三方的服务对目标进行了解,如:Google搜索。主动的信息收集方式:通过直接访问、扫描网站,这种将流量流经网站的行为。比如:nmap扫描端口。被动信息收集的目的:通过公开渠道,去获得目标主机的信息,从而不与目标系统直接交互,避免留下痕迹。信息收集内容1.IP地址段2.域名信息3.邮箱…

    2022年6月18日
    65
  • SpringBoot整合微信登录

    SpringBoot整合微信登录文章目录 SpringBoot 整合微信登录 1 准备工作 1 1 获取微信登录凭证 1 2 配置文件 1 3 添加依赖 1 4 创建读取公共常量的工具类 1 5HttpClient 工具类 2 实现微信登录 2 1 具体流程 2 2 生成微信扫描的二维码 请求 CODE 2 3 回调 SpringBoot 整合微信登录 1 准备工作 1 1 获取微信登录凭证前往官网微信开放平台 com 完成以下步骤 注册邮箱激活完善开发者资料开发者资质认证创建网站应用 1 2 配置文件在配置文件 applicatio

    2026年1月20日
    1
  • 详解JSON数据格式

    详解JSON数据格式在目前的开发中 JSON 是一种非常重要的数据格式 它并不是编程语言 而是一种可以在服务器和客户端之间传输的数据格式 JSON 的全称是 JavaScriptOb JavaScript 对象符号 JSON 是由 DouglasCrock 构想和设计的一种轻量级数据交换格式 算是 JavaScript 的一个子集很多编程语言都实现了将 JSON 转为对应模型的方式其他的传输格式 XML 在早期的网络传输中主要是使用 XML 来进行数据交换的 但是这种格式在解析 传输等各方面都弱于 JSON

    2026年3月17日
    2
  • Android开发——RelativeLayout.LayoutParams的使用「建议收藏」

    Android开发——RelativeLayout.LayoutParams的使用「建议收藏」前言在日常的Android开发当中,我们少不了需要动态改变控件在RelativeLayout界面的位置。那么我们就需要使用到RelativeLayout.LayoutParams。RelativeLayout.LayoutParamsRelativeLayout.LayoutParams是一个RelativeLayout的布局参数,我们改变控件的就需要使用到。初始化//包裹内容Rel…

    2022年7月17日
    28

发表回复

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

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