java 解析xml文件

Java解析、读取XML文件并存入TXT文件的简单例子 Java解析、读取XML文件并存入TXT文件的简单例子 利用Document得到包含文本的对象doc,利用DOM结点实现xml内容的读取,存入TXT文件。 阅读详情

1.**首先先将xml文件放入java工程中。
我放入的是resources文件夹中。
2.xml结构:本次解析的是全国省市xml文件,这种不会变的数据一般不用储存数据库中。

	<data>
		<JzProvinceList>
			<jzProvince>
			<!--省级-->
				<text>北京市</text>
				<code>110000</code>
				<jzCityList>
					<jzCity>
					<!--市级-->
						<text>北京市</text>
						<code>110000</code>
						<jzCountyList>
						<!--区县级-->
							<jzCounty><text>东城区</text><code>110101</code></jzCounty>
							<jzCounty><text>西城区</text><code>110102</code></jzCounty>
							<jzCounty><text>朝阳区</text><code>110105</code></jzCounty>
							<jzCounty><text>丰台区</text><code>110106</code></jzCounty>
							<jzCounty><text>石景山区</text><code>110107</code></jzCounty>
							<jzCounty><text>海淀区</text><code>110108</code></jzCounty>
							<jzCounty><text>门头沟区</text><code>110109</code></jzCounty>
							<jzCounty><text>房山区</text><code>110111</code></jzCounty>
							<jzCounty><text>通州区</text><code>110112</code></jzCounty>
							<jzCounty><text>顺义区</text><code>110113</code></jzCounty>
							<jzCounty><text>昌平区</text><code>110114</code></jzCounty>
							<jzCounty><text>大兴区</text><code>110115</code></jzCounty>
							<jzCounty><text>怀柔区</text><code>110116</code></jzCounty>
							<jzCounty><text>平谷区</text><code>110117</code></jzCounty>
							<jzCounty><text>密云区</text><code>110118</code></jzCounty>
							<jzCounty><text>延庆区</text><code>110119</code></jzCounty>
						</jzCountyList>
					</jzCity>
				</jzCityList>
			</jzProvince>
		</JzProvinceList>
	</data>

我这里只解析到省跟市,区县没有用到
java代码

public List<ProvinceInfo> getProvinceInfo(String code) throws DocumentException {
        SAXReader reader = new SAXReader();
        InputStream in = this.getClass().getResourceAsStream("/CityData.xml");
        Document doc = reader.read(in);
        Element element = doc.getRootElement();//所有xml标签对象
        Element element1;
        Element element2;//所有省级标签对象
        Element element3;
        Element element4;//城市标签对象
        List<ProvinceInfo> provinceInfoList = new ArrayList<>();//省级数据集合
        Iterator jzProvince = element.elementIterator("JzProvinceList");//获取父级标签集合
        while (jzProvince.hasNext()) {
            element1 = (Element) jzProvince.next();
            //获取所有省级标签集合 遍历
            Iterator jzProvince1 = element1.elementIterator("jzProvince");
            while (jzProvince1.hasNext()) {
                element2 = (Element) jzProvince1.next();
                ProvinceInfo provinceInfo = new ProvinceInfo();
                String codeT = element2.elementText("code");
                //获取该省的城市
                if (StringUtils.isNotBlank(code)) {
                    if (codeT.equals(code)) {
                        element3 = element2.element("jzCityList");//城市父级标签
                        Iterator jzCity = element3.elementIterator("jzCity");//城市标签集合
                        while (jzCity.hasNext()) {
                            element4 = (Element) jzCity.next();
                            provinceInfo = new ProvinceInfo();
                            provinceInfo.setText(element4.elementText("text"));
                            provinceInfo.setCode(element4.elementText("code"));
                            provinceInfoList.add(provinceInfo);
                        }
                    }
                } else {
                    provinceInfo.setText(element2.elementText("text"));
                    provinceInfo.setCode(codeT);
                    provinceInfoList.add(provinceInfo);
                }
            }
        }
        return provinceInfoList;
    }

我使用的Document 方法,这种方式看似里面的结构复杂,但是只要理清层级关系,还是比较好理解的。而且解释xml结构改变,这种方式修改起来也方便。
仅限自己记录。

Java解析XML文件解决方案 特点:将整个XML文档加载到内存中形成树状结构,适合小型XML文件。特点:基于事件驱动的流式解析,内存效率高,适合大型XML文件。// 处理开始元素...// 处理文本内容...// 处理结束元素...特点:通过注解将Java对象与XML相互转换。小型XML文件:DOM、JAXB或DOM4J。特点:拉式解析,结合了DOM和SAX的优点。// 处理数据...大型XML文件:SAX或StAX。// 解析XML到Java对象。// 读取XML文件。// 使用SAX解析。// 定义Java类。 阅读详情

相关推荐

Java解析XML文件的方式

SAX是Simple API for XML的缩写,不同于DOM的文档驱动,它是事件驱动的,也就是说,它是一种基于回调(callback)函数的解析方式,比如开始解析xml文档时,会调用我们自己定义的startDocument函数,从下表里,我们能看到基于SAX方式里的各种回调函数以及它们被调用的时间点。在第13行,通过了parse方法启动了解析。在上文里我们就已经知道,在SAX的方式里,是通过调用各种回调函数来完成解析的,所以在代码里,我们还得自定义各个回调函数,代码如下。

2401_89312470的博客 1064

全国 省市区 经纬度 (XML格式)

全国 省市区 经纬度 (XML格式) 标签(空格分隔): XML 网上找的资源,都是excel格式还有txt格式的,没有XML格式的,用起来不方便。所以就用JAVA把txt转换成XML格式的文件了。 Tips: 如果显示XML编码错误,可以用windows自带的记事本打开,然后"另存为",此处有编码选择,选择UTF-8,另存即可! XML文件如下: <?xml version=1.0 ...

weixin_30835649的博客 4878

【TiktokAPI】Tiktok直播API与实时互动功能开发完全指南

Tiktok直播API允许开发者创建、管理直播,并实现各种互动功能。/*** 获取Tiktok直播API访问令牌* @param {string} client_id - 应用ID* @param {string} client_secret - 应用密钥* @param {string} code - 授权码* @param {string} redirect_uri - 重定向URI* @returns {Promise<object>} 访问令牌响应*/try {}),

Mageia的专栏 3187

详解Java解析XML的四种方法

Java解析XML的四种方法:1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML

qq_50896685的博客 1万+

维护测试监控LLM应用

LangFuse: 开源 + SaaS(免费/付费),LangSmith 平替,可集成 LangChain 也可直接对接 OpenAI API;LangSmith: LangChain 的官方平台,SaaS 服务(免费/付费),非开源,企业版支持私有部署;调试 Prompt 的 Playground测试/验证系统的相关指标数据集管理各种指标监控与统计:访问量、响应时长、Token 费等等。

SunnyRivers 1774

Q学习(Q-learning)入门小例子及python实现

一、从马尔科夫过程到Q学习 # 有一定基础的读者可以直接看第二部分 Q学习(Q-learning)算法是一种与模型无关的强化学习算法,以马尔科夫决策过程(Markov Decision Processes, MDPs)为理论基础。 标准的马尔科夫决策过程可以用一个五元组<S,A,P,R,γ>表示,其中: S是一个离散有界的状态空间; A是一个离散的动作空间; P为状态转...

wlm_py的博客 4万+

Java中解析XML文件

0617

weixin_52071901的博客 5186

在 Ansys CFX Pre 中配置 RGP 表的分步指南

掌握在 Ansys CFX Pre 中设置 RGP 表的技巧,以优化仿真精度和效率。

jkh920184196的博客 1664

java解析xml文件的四种方式

System.out.println("======================结束遍历第" + (i + 1) + "本书的内容=================");System.out.println("=================下面开始遍历第" + (i + 1) + "本书的内容=================");System.out.println("======================开始遍历某一本书的内容=================");

黑色人生 4023

Stata新手避坑:用reghdfe搞定行业、地区多重固定效应,告别‘共线性’报错

本文详细介绍了如何使用Stata中的reghdfe命令高效处理多重固定效应问题,解决传统方法在面板回归中遇到的共线性报错和低R²问题。通过实战案例和高级技巧,帮助新手快速掌握行业、地区等多维固定效应的控制方法,提升经济学和金融学研究的分析效率。

weixin_30635053的博客 419

NC65增加自定义参照并且参照数据要根据选择的财务组织过滤

1、首先定义一个参照类 package nc.pub.jzcm.ref; import nc.ui.bd.ref.AbstractRefModel; import nc.ui.bd.ref.IRefDocEdit; import nc.ui.bd.ref.IRefMaintenanceHandler; public class PMPrPayDefaultRefModel extends AbstractRefModel { public PMPrPayDefaultRefModel(){ ...

xyl的博客 3494

Java中XML的解析

​ 当将数据存储在XML后,我们就希望通过程序获取XML的内容。如果我们使用Java基础所学的IO知识是可以完成的,不过你学要非常繁琐的操作才可以完成,且开发中会遇到不同问题(只读、读写)。人们为不同问题提供不同的解析方式,使用不同的解析器进行解析,方便开发人员操作XML。XML DOM 和 HTML DOM一样,XML DOM 将整个XML文档加载到内存,生成一个DOM树,并获得一个Document对象,通过Document对象就可以对DOM进行操作。以下面books.xml文档为例。

SHI940637335的博客 7098

OnlyOffice Docker部署全攻略:解除连接限制+文件大小限制+中文字体优化

本文详细介绍了OnlyOffice企业级Docker部署的完整解决方案,重点破解连接限制、文件大小限制和中文字体优化三大核心痛点。通过定制化镜像部署、性能调优配置和中文字体深度优化,帮助企业实现高效稳定的文档协作平台。

weixin_28837817的博客 366

Java - XML文件解析

使用java编写以DOM方式解析某目录下的特定XML文件,有源码

weixin_44462773的博客 2005

【好物推荐】MQTTX 快速入门使用指南

摘要:MQTTX是一款跨平台MQTT客户端工具,支持MQTT 5.0/3.1.1协议,提供桌面版、网页版和CLI版本。本文介绍了快速入门指南,包括下载安装、核心概念解释、连接公共MQTT服务器(broker.emqx.io)的步骤,以及订阅主题、发布和接收消息的操作流程。文章还提供了常见问题排查方法,帮助用户快速完成MQTT开发调试的基本操作。

奶爸的编程之路,也就一周冷个三天 857

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

java解析xml文件

使用java解析xml文件,通过dom4j。 代码如下: package com.java.team; import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.dom4j.Document; import org.dom4j.D

youyajie的专栏 2万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Java中如何解析XML文件

Java中如何解析XML文件 xml文件:"student.xml" xml 代码 <?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPEzmclassSYSTEM"student.dtd"> <zmclassid="0703"> <student...

weixin_33871366的博客 165

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java如何解析xml文件_java如何解析/读取xml文件

本文实例为大家分享了java解析/读取xml文件的方法,供大家参考,具体内容如下XML文件JohnB12MaryA11SimonA18Java 代码:package net.viralpatel.java.xmlparser;import java.io.File;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.D...

weixin_30742297的博客 185

Java xml文件解析 sax 解析笔记

一般为以下步骤: 1、得到xml文件对应的资源,可以是xml的输入流,文件和uri 2、得到SAX解析工厂(SAXParserFactory) 3、由解析工厂生产一个SAX解析器(SAXParser) 4、传入输入流和handler给解析器,调用parse()解析 //1.创建解析工厂 SAXParserFactoryfactory=SAXParserF...

Matthew的博客 395

xml 文件解析 java_Java 解析/读取XML 文件

Java 解析/读取XML 文件1.[代码]students.xmlJohnB12MaryA11SimonA182.[代码]XMLParser.javapackage net.viralpatel.java.xmlparser;import java.io.File;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers....

weixin_34404599的博客 94

使用 Java 解析 XML 文件

在你使用 Java 编写软件时实现持久化配置。 当你编写一个应用时,你通常都会希望用户能够定制化他们和应用交互的方式,以及应用与系统进行交互的方式。这种方式通常被称为 “偏好preference” 或者 “设置setting”,它们被保存在一个 “偏好文件” 或者 “配置文件” 中,有时也直接简称为 “配置config”。配置文件可以有很多种格式,包括 INI、JSON、YAML 和 XML。每一种编程语言解析这些格式的方式都不同。本文主要讨论,当你在使用 Java 编程语言 来编写软件时,实现持久化..

m0_49496327的博客 643

JAVA 解析XML文件

什么是XML文件? XML,可扩展的标识语言(eXtensibleMarkupLanguage) XML是一种类似于HTML的标记语言,XML是用来描述数据的,XML的标记不是在XML中预定义的,你必须定义自己的标记,XML使用文档类型定义(DTD)或者模式(Schema)来描述数据,XML使用DTD或者Schema后就是自描述的语言,XML(eXtensibleMarkupLanguage)

ricky73999的博客 941
上一篇: linux安装maven 并修改全局环境变量或用户变量
下一篇: 记一次将2021-11-10T13:21:56.000+0800这种日期格式的转为yyyy-MM-dd HH:mm:ss
Yangsir_java
博客等级 码龄7年 4粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值