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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DNS负载均衡和NGINX负载均衡「建议收藏」

    DNS负载均衡和NGINX负载均衡「建议收藏」负载均衡:把请求均匀的分摊到多个服务器上处理DNS负载均衡DNS负载均衡是通过DNS服务器实现的,主要用于把请求均匀的分布到nginx服务器上,真实情况可能是根据区域区分请求,但是一个地域中请求还是需要均匀的分配到nginx服务器上实现原理:DNS服务器为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将…

    2022年7月14日
    53
  • 4G LTE Advanced_LTE百科

    4G LTE Advanced_LTE百科IS-95   IS-95是由高通公司发起的第一个基于CDMA数字蜂窝标准。IS全称为InterimStandard,即暂时标准,基于IS-95的第一个品牌是cdmaOne。IS-95也叫TIA-EIA-95。它是一个使用CDMA的2G移动通信标准,一个数据无线电多接入方案,其用来发送声音,数据和在无线电话和蜂窝站点间发信号数据(如被拨电话号码)。IS-95及其相关标准是最早商用的

    2022年10月4日
    0
  • vscode直接运行html_用vscode搭建前端环境

    vscode直接运行html_用vscode搭建前端环境1.本地新建一个空的文件夹2.点击新建一个index.html文件3.输入!4.点击第一个自动生成html模板文件5.右击html文件,在浏览器中运行

    2022年8月22日
    4
  • html在线编辑器源代码_html编程

    html在线编辑器源代码_html编程变一般软件开发中必备的一样工具就是代码编辑器。传统的代码编辑器一般都是以软件安装包的形式安装到电脑里面,代码编辑保存后一般也是通过ftp或者svn等工具提交到服务器的(当然,像.NET开发中MicrosoftVisualStudio这样强大的集成工具另说了。)。在实际的项目开发中这样的方式也是挺便捷的。但是,随着各种云服务的兴起,云存储时代几乎已经是大势所趋了。个人或者小公司搭建一个类似的…

    2022年8月14日
    1
  • 细数家庭安防五大乱象 何时能步入正轨

    细数家庭安防五大乱象 何时能步入正轨虽然智能家居行业在我国的成长已逾十个年头了,但是目前市场离成型仍然有一段距离。市场上可谓“乱象”丛生,这些绊脚石严重阻碍了行业的良性发展。市场乱象繁生,智能家居从概念炒作到价格高抬,相关预测显示,若真如电商一样打起价格战,智能家居就要认输了。“智能家居”(SmartHome)最早被提出和应用是在上世纪80年代的欧美和日本,2000年才被引入中国。世纪…

    2022年6月22日
    21
  • java基本数据类型 think in java_Think in Java(一):Java基础[通俗易懂]

    java基本数据类型 think in java_Think in Java(一):Java基础[通俗易懂]一.OOP的特点(1)万物皆为对象;(2)程序是对象的集合,他们通过发送信息来告诉彼此所要做的;(3)每一个对象都有自己的由其它对象所构成的存储;(4)每一个对象都拥有它的类型;(5)某一特定类型的对象都能够接收相同的消息;二.Java比C++简单?(1)Java有垃圾回收器,不用手动销毁对象;(2)Java使用单根继承;(3)Java仅仅能以一种方式创建对象(在堆上创建);…

    2022年7月8日
    14

发表回复

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

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