iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >Java中解析XML文件
  • 789
分享到

Java中解析XML文件

xml 2023-09-23 16:09:14 789人浏览 八月长安
摘要

1.初识XML 1.1 定义         XML(EXtensible Markup Language),可扩展标记语言,相比于html可以自定义标签,不遵循W3C标准         XML特点:跨平台、跨语言、跨系统。XML与操作系

1.初识XML

1.1 定义

        XML(EXtensible Markup Language),可扩展标记语言,相比于html可以自定义标签,不遵循W3C标准
        XML特点:跨平台、跨语言、跨系统。XML与操作系统编程语言开发平台无关。
        XML作用:①数据交互②使用XML文件配置应用程序和网站

1.2 XML文档结构

1.文档声明 包括文档类型:xml  使用的xml版本  使用的字符集
2.指令 了解即可,例如CSS
3.标签(元素) 包括标签的属性(属性名=属性值)
4.文本 标签之间的内容

示例:

//文档声明 //引入css指令//标签需要成对出现          //id是属性名,”123”是属性值   《钢铁是怎样练成的》  //成对标签间可以添加文本  

1.3 XML规范

(1)所有XML元素都必须有结束标签(成对出现或自闭)
(2)XML标签对大小写敏感
(3)XML必须正确的嵌套
(4)同级标签以缩进对齐
(5)元素名称可以包含字母、数字或其他的字符
(6)元素名称不能以数字或者标点符号开始
(7)元素名称中不能含空格

1.4 转义字符

        xml中也有一些保留字,常用的有以下内容,可以使用转义符

 示例:

2.解析XML

2.1 DOM

        基于XML文档树结构的解析
        适用于多次访问的XML文档
        特点:比较消耗资源

2.2 SAX

        基于事件的解析
        适用于大数据量的XML文档
        特点:占用资源少,内存消耗小

2.3 Dom4j

        基于SAX的依赖库,开源易用,与Java高度兼容,使用广,定义了大量的接口

3.Dom4j实例

3.1 常用接口

Document接口:定义XML文档

Element接口:   定义XML元素

Text接口:          定义XML文本节点

Attribute接口:  定义XML属性

3.2 加载DOM树

测试XML文件

测试类

import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.io.SAXReader;public class Demo1 {    //定义文档对象    Document doc = null;    //创建加载document对象    public void loadXML() throws DocumentException {        //实例化SAXReader对象        SAXReader saxReader = new SAXReader();        //读取phone.xml文件        doc = saxReader.read("src/main/java/phone.xml");        //测试doc对象是否成功        System.out.println(doc);    }    public static void main(String[] args) throws DocumentException {        //测试        Demo1 demo1 = new Demo1();        demo1.loadXML();    }}

3.3 显示信息

添加findXML()方法

public void findXML(){    //使用Element多态创建实例,获取doc对象中的元素    Element root = doc.getRootElement();    //获取后的对象可以使用迭代器    Iterator brandInfos = root.elementIterator();    while(brandInfos.hasNext()){        Element brandInfo =(Element)brandInfos.next();        System.out.println(brandInfo.attributeValue("name"));        Iterator types = brandInfo.elementIterator();        while(types.hasNext()){            Element type = (Element) types.next();            System.out.println(type.attributeValue("name"));        }    }}

调用方法后:

3.4 增添新的标签和属性

添加addXML()方法

public void addXML(){    Element root = doc.getRootElement();    //addElement(元素名)添加元素    Element brandInfo = root.addElement("Brand");    //addAttribute(属性名,属性值)添加属性    brandInfo.addAttribute("name","三星");    Element type = brandInfo.addElement("Type");    type.addAttribute("name","Galaxy 11");}

3.5  保存修改后的XML文件

添加saveXML()方法

//保存信息public void saveXML(String path) throws IOException {    //创建输出流格式对象    OutputFORMat format = OutputFormat.createPrettyPrint();    //设置字符集    format.setEncoding("utf-8");    //创建输出流    XMLWriter writer = new XMLWriter(new FileWriter(path),format);    //写出文件    writer.write(doc);    //关闭流    writer.close();}

3.6 添加id属性并更新

添加updateXML()方法

//修改信息public void updateXML() throws IOException {    Element root = doc.getRootElement();    Iterator brands = root.elementIterator();    int id = 0;    while(brands.hasNext()){        Element brand = (Element) brands.next();        id++;        brand.addAttribute("id",id+"");        saveXML("src/main/java/test0617/newPhone.xml");    }}

3.7 删除信息

添加delete()方法

//删除元素public void delete() throws IOException {    Element root = doc.getRootElement();    Iterator brandInfo = root.elementIterator();    while(brandInfo.hasNext()){        Element brand = (Element) brandInfo.next();        //判断当前节点的name值是否为"华为"        if(brand.attributeValue("name").equals("华为")){            //删除父节点下的当前节点            brand.getParent().remove(brand);            break;        }    }    saveXML("src/main/java/test0617/newPhone.xml");}

来源地址:https://blog.csdn.net/weixin_52071901/article/details/131300262

--结束END--

本文标题: Java中解析XML文件

本文链接: https://www.lsjlt.com/news/416533.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中解析XML文件
    1.初识XML 1.1 定义         XML(EXtensible Markup Language),可扩展标记语言,相比于HTML可以自定义标签,不遵循W3C标准         XML特点:跨平台、跨语言、跨系统。XML与操作系...
    99+
    2023-09-23
    xml
  • Java中使用DOM4J生成xml文件并解析xml文件的操作
    目录一、前言二、准备依赖三、生成xml文件生成标准展示四、解析xml文件五、总结一、前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有...
    99+
    2022-11-12
  • Java解析XML文件开源库DOM4J
    目录XML解析-DOM4J解析DOM4J查詢DOM4J創建DOM4JXML解析-DOM4J DOM4j是一個開源的,基於java的庫來解析XML文檔,它具有高度的靈活性,高性能和內存...
    99+
    2023-01-11
    Java DOM4J Java解析xml文档
  • Java持久化XML文件配置解析
    目录前言选择一个格式XML 基础创建一个示例配置文件使用 Java 解析 XML使用 Java 访问 XML 的值使用 Java 更新 XML如何保证配置不出问题前言 当你编写一个应...
    99+
    2022-11-13
  • Android中怎么解析XML文件
    本篇文章给大家分享的是有关Android中怎么解析XML文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。XMLXML(eXtensible Markup Language)中...
    99+
    2023-05-30
    android
  • Java XML文件解析的方法有哪些
    Java中有多种方法可以解析XML文件,其中常用的有以下几种:1. DOM解析器:使用DOM解析器可以将整个XML文档加载到内存中,...
    99+
    2023-09-14
    java
  • java怎么解析xml报文
    Java提供了多种解析XML报文的方式,常用的方式有DOM解析、SAX解析和StAX解析。1. DOM解析:DOM解析是将整个XML...
    99+
    2023-09-29
    java xml
  • Java解析xml文件和json转换的方法(DOM4j解析)
    Java解析xml的方法有四种: DOM解析 SAX解析 JDOM解析 DOM4J解析 本次主要介绍使用DOM4j进行解析: 这里我主要使用两种方...
    99+
    2022-11-12
  • [转载] python 解析xml 文件
    环境 python:3.4.4 准备xml文件 首先新建一个xml文件,countries.xml。内容是在python官网上看到的。 <xml version="1.0"> <data> <co...
    99+
    2023-01-30
    文件 python xml
  • 利用java怎么对xml文件进行解析
    利用java怎么对xml文件进行解析?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、【基础知识——扫盲】sax、dom是两种对xml文档进行解析的方法(没有具体实现,只是接口...
    99+
    2023-05-31
    java xml ava
  • 基于Java实现XML文件的解析与更新
    目录选择一个格式XML 基础创建一个示例配置文件使用 Java 解析 XML使用 Java 访问 XML 的值使用 Java 更新 XML如何保证配置不出问题在你使用 Java 编写...
    99+
    2022-11-13
  • java实现简单解析XML文件功能示例
    本文实例讲述了java实现简单解析XML文件功能。分享给大家供大家参考,具体如下:package demo;import java.io.File;import java.io.IOException;import javax.xml.pa...
    99+
    2023-05-31
    java 解析 xml
  • 详解android使用SAX解析XML文件
    解析XML的方式有很多种,大家比较熟悉的可能就是DOM解析。 DOM(文件对象模型)解析:解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以根据DOM接口来操作这...
    99+
    2022-06-06
    XML sax解析xml xml文件 sax Android
  • java解析XML详解
    目录XML的主要用途对比HTML关于XML文件的解析?JDK自带的一套解析总结XML的主要用途 --数据存储和数据描述 --是一个优良的配置文件 --相当于...
    99+
    2022-11-12
  • python3基础学习(XML文件解析)
      对于RSS源的XML文件,开头如下: <xml version="1.0"> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">   ...
    99+
    2023-01-31
    文件 基础 XML
  • 怎么使用dom4j解析xml文件
    怎么使用dom4j解析xml文件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。DOM4J解析特征:JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功...
    99+
    2023-05-31
    dom4j xml
  • Android中使用sax解析xml文件的方法
    SAX是一个解析速度快并且占用内存少的xml解析器,非常适合用于Android等移动设备。 SAX解析XML文件采用的是事件驱动,也就是说,它并不需要解析完整个文档,在按内容顺...
    99+
    2022-06-06
    xml文件 sax XML 方法 sax解析xml Android
  • FineReport中怎么解析数据库内XML文件
    本篇文章给大家分享的是有关FineReport中怎么解析数据库内XML文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在数据库表中,其中字段...
    99+
    2022-10-18
  • java怎么解析XML
    本篇内容主要讲解“java怎么解析XML”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java怎么解析XML”吧!目录XML的主要用途对比HTML关于XML文件的解析?JDK自带的一套解析XML...
    99+
    2023-06-20
  • jQuery如何加载及解析XML文件
    这篇文章将为大家详细讲解有关jQuery如何加载及解析XML文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:1、简述XML(eXtensible Markup...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作