XML文件
一.XML用途:指可扩展标记语言(EXtensible Markup Language),是独立于软件和硬件的信息传输工具,应用于 web 开发的许多方面,常用于简化数据的存储和共享。
二.在XML中,所有的处理指令都以<?开始,?>结束。<?后面紧跟的是处理指令的名称。encoding是指作者使用的字符编码格式。有UTF-8,GBK,gb2312等等。
XML元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。同时大小写也是敏感的。
XML要求每个元素必须由起始标签和关闭标签组成。关闭标签与起始标签的名字相同,写法上多一个“/”。
XML要求每个元素必须由起始标签和关闭标签组成。关闭标签与起始标签的名字相同,写法上多一个“/”。
三.在java中使用DOM解析XML文档:(需要导入dom4j.jar包)
读取XML流程:
1.创建SAXreader。
2.使用SAXreader读取要解析的XML文档并返回一个Docunent对象者一步是耗时耗资源的地方因为要先将xml文档全部读取完毕并存入到一个Docunent对象中。
SAXReader提供了读取的相关方法:
Document read(File file)解析指定file对象所表示的xml文件
Document read(InPutStream is)从给定的字节流中读取xml文档数据并解析
Document read(Reader reader)从给定的字符流中读取xml文档数据并解析上面最后两个方法类似java中高级流操作
3.根据Docunent对象获取根元素。
获取根元素:
Document 提供了获取根元素的方法:
Element getRootElement() Element的每一个实力用于表示xml文档中的一个元素(一对标签)
Element表示一个xml文档中的一个元素(标签)
它提供了获取该元素相关信息的方法:
String getname() 获取当前元素的名字
Element element(String name) 获取当前元素中指定名字的子元素
list element()获取当前元素中的所有子元素
list elements(String name) 获取当前元素中所有同名元素
String getText() 获取当前元素中的文本(开始标签和结束标签中间的文本信息)
Attribute attribute(String name) 获取当前元素中指定名字的属性
4.按照xml文档的结构从根元素开始逐级获取子元素,已达到解析xml文档获取数据的目的。
四.使用dom生成xml文档:(需要导入dom4j.jar包)
生成XML流程:
1.创建一个Document对象表示一个空白文档
2.向Document中添加跟元素
Document提供了添加根元素的方法:
Element addElement(String name) 添加指定名字的根元素,并将其以Element的实例形式返回以便对根元素继续操作需要注意,该方法只能调用一次。
3.按照xml文档的结构逐级添加子元素
Element提供了向其添加相关信息的方法:
1.Element addElement(String name) 向当前标签中添加给定名字的子标签
2.Element addText(String text) 向当前标签中添加文本信息
3.Element addAttribute(String name,String valie) 向当前标签中添加指定名字以及对应值的属性。
4.创建XMLWriter对象
5.将Document写出
6.关闭XMLWriter
五.XML路径表达式--(需要另外引入jaxen.jar包):
1.路径表达式语法:
斜杠(/)作为路径内部的分割符。
同一个节点有绝对路径和相对路径两种写法:
路径(absolute path)必须用"/"起首,后面紧跟根节点.
相对路径(relative path)则是除了绝对路径以外的其他写法.
"."表示当前节点。
".."表示当前节点的父节点
nodename(节点名称):表示选择该节点的所有子节点
"/":表示选择根节点
"//":表示选择任意位置的某个节点
"@": 表示选择某个属性
2."谓语条件",就是对路径表达式的附加条件。所有的条件,都写在方括号"[]"中,表示对节点进行进一步的筛选.
3.通配符:
"*"表示匹配任何元素节点。
"@*"表示匹配任何属性值。
node()表示匹配任何类型的节点。
4.Document提供了(需要引入jaxen.jar包):
List selectNodes(Stirng xpath)按照字符串形式进行检索并返回一个集合。

我是初学者,如有更新不好的,欢迎这位大神指出,谢谢大家!

更多精彩以后更新,转载注明!

java-XML使用的更多相关文章

  1. Java XML解析工具 dom4j介绍及使用实例

    Java XML解析工具 dom4j介绍及使用实例 dom4j介绍 dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory ...

  2. Java & XML Tutorial

    Java comes with a set of tools to process XML. These Java XML tools are: SAX Parser StAX Parser DOM ...

  3. 【Java】Java XML 技术专题

    XML 基础教程 XML 和 Java 技术 Java XML文档模型 JAXP(Java API for XML Parsing) StAX(Streaming API for XML) XJ(XM ...

  4. Java XML解析器

    使用Apache Xerces解析XML文档 一.技术概述 在用Java解析XML时候,一般都使用现成XML解析器来完成,自己编码解析是一件很棘手的问题,对程序员要求很高,一般也没有专业厂商或者开源组 ...

  5. Java XML Dom解析工具

    Java XML Dom解析工具 缩进等 transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no"); ...

  6. Java XML DOM解析范例源码

    下边内容内容是关于Java XML DOM解析范例的内容.import java.io.InputStream; import java.util.ArrayList; import java.uti ...

  7. XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax

    本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...

  8. Java&Xml教程(九)Java中通过XSD校验XML合法性

    Java XML校验API能够通过XSD(XML Schema Definition)校验XML文件内容的合法性.在下面的案例中使用javax.xml.validation.Validator 类通过 ...

  9. Java&Xml教程(六)使用JDOM解析XML文件

    JDOM 提供了非常优秀的Java XML API来更方便的读取.修改.生成XML文档.JDOM还提供了包装类供用户从SAX.DOM.STAX事件解析.STAX流解析中选择具体的实现. 在本教程中,我 ...

  10. Java&Xml教程(一)简介

    XML是广泛用于数据传输和存储的技术.Java语言提供个各种各样的API来解析XML,例如DOM.SAX.StAX.JAXB.也还有一些其他的API用于解析XML,例如JDOM.本教程的目的是探索使用 ...

随机推荐

  1. 微服务效率工具 goctl 深度解析(上)

    前言 本文根据 安前松 的视频分享整理而来,视频回放地址如下: https://www.bilibili.com/video/BV1Hr4y1x7Ne goctl 的由来 1. goctl 的诞生 g ...

  2. GO的日志库log竟然这么简单!

    前言 最近在尝试阅读字节开源RPC框架Kitex的源码,看到日志库klog部分,果不其然在Go原生的log库的基础上增加了自己的设计,大体包括增加了一些格式化的输出.增加一些常用的日志级别等. 一番了 ...

  3. 使用Group By子句的时候,一定要记住下面的一些规则

    使用Group By子句的时候,一定要记住下面的一些规则:(1)不能Group By非标量基元类型的列,如不能Group By text,image或bit类型的列(2)Select指定的每一列都应该 ...

  4. Node.js精进(2)——异步编程

    虽然 Node.js 是单线程的,但是在融合了libuv后,使其有能力非常简单地就构建出高性能和可扩展的网络应用程序. 下图是 Node.js 的简单架构图,基于 V8 和 libuv,其中 Node ...

  5. 某CMS后台通杀getshell

    此CMS是基于thinkphp框架二次开发的,目前有thinkphp5,以及thinkphp6两种版本.这些漏洞挖掘出来的时候已经在cnvd被提交过了.但是网上并没有漏洞文章.避免风险这里只分享思路. ...

  6. SpringBoot整合RocketMQ

    1.RocketMQ的下载与配置 到官网选择想要的版本下载即可,https://rocketmq.apache.org/release_notes/ 下载速度会比较慢,这里提供目前最新版本4.9.3的 ...

  7. sql-DQL-多表联查

    多表查询 笛卡尔积 左表的每条数据和右表的每条数据组合,这种效果称为笛卡尔乘积 select * from emp, dept; 笛卡尔积引入了很多无用的数据,要完成多表查询,需要设置过滤条件来消除无 ...

  8. centos系统和Ubuntu系统命令区别以及常见操作

    目录 一.前言 二.系统环境 三.命令区别 3.1 使用习惯和命令区别 3.2 服务管理的区别 3.3 软件包信息区别 四.Ubuntu系统常见操作 4.1 Ubuntu系统apt和apt-get的区 ...

  9. 【机器学习】K-means聚类分析

    前言 聚类问题是无监督学习的问题,算法思想就是物以类聚,人以群分,聚类算法感知样本间的相似度,进行类别归纳,对新输入进行输出预测,输出变量取有限个离散值.本次我们使用两种方法对鸢尾花数据进行聚类. 无 ...

  10. AMS1117降压电路

    AMS1117芯片为正向低压差稳压器,内部集成过热保护和限流电路,其固定输出版本电压可为1.5V.1.8V.2.5V.2.85V.3.0V.3.3V.5.0V,设计采用3.3V输出即ASM1117-3 ...