Java Web之JSP操作XML(XML的文档结构 语法和注释、dom4j的下载与配置 应用dom4j创建、解析和修改XML)

创作不易 觉得有帮助请点赞关注收藏~~


前言

XML是eXtensible Markup Language(可扩展标记语言)的缩写,是SGML(标准通用化标记语言)的一个子集 用于提供数据描述格式 适用于不同应用程序间的数据交换,而且这种交换不以预先定义的一组数据结构作为前提,增强了可扩展性。


一、XML文档结构

 

一个基本的XML文档通常由序言和文档元素两部分组成

1:序言

可以包括XML声明 处理指令和注释 XML文档的第一行通常是XML声明 语法如下

<? xml version="version" encoding="value" standalone="value"?>

standalone 用于指定XML文档是否和另一个外部文档嵌套使用  yes则为一个独立的文档

2:文档元素

XML文档中的元素是以树形分层结构排列的 一个元素可以嵌套在另一个元素中,XML文档中有且只有一个顶层元素 称为文档元素或根元素

<tagname>content</tagname>

 XML语法要求

1:XML文档必须有一个顶层元素 其他元素必须嵌入在顶层元素中

2:元素嵌套要正确 不能重叠或者跨越

3:每一个元素必须同时拥有起始标记和结束标记

4:元素类型名要完全匹配

5:XML元素类型名区分大小写

6:元素类型名称不可以以 -开头 也不可以包含空格和:

7:元素可以包含属性 但属性值必须用单引号或者双引号括起来

 为XML文档中 的元素定义属性

<info id="1">

XML的注释

 注释以<!--开始  以字符串-->结束

 处理字符数据

在XML文档中 有些字符会被XML解析器当作标记进行处理 如果希望把这些字符作为普通字符处理,就需要使用实体引用或CDATA段 

< 实体引用为&1t  >实体引用为&gt &实体引用为&amp '实体引用为&apos "实体引用为&quot

<?xml version="1.0" encoding="GBK"?>
<placard version="2.0">
<info id="1">
 <title>重要通知</title>
 <content>&amp;nbsp;&amp;nbsp;明天下午三点</content>
 <pubDate>2022-10-17</pubDate>
</info>
</placard>

 使用CDATA段

CDATA段是一种用来包含文本的方法 其内部的所有内容都会被XML解析器当作普通文本  所以任何符号都不会被认为是标识符 语法如下

<![CDATA[文本内容]]>

 

二、dom4j简介

dom4j是sourceforge.net上的一个Java开源项目 主要用于操作XML文档 如 创建XML文档和解析XML文档 dom4j应用于Java平台 采用了Java集合框架并完全支持DOM SAX JAXP是一种适合Java程序员使用的Java XML解析器

dom4j的下载与配置

1:进入网址dom4j

2:点击Download下载最新版本的dom4j

3:将文件解压后  将dom4j.1.6.1.jar文件和lib文件夹下的jaxen-1.1-beta-6.jar文件配置到构建路径下中  或者将这两个文件直接复制到项目的lib文件夹中

三、创建XML文档

dom4j组件的一个最重要的功能就是创建XML文档 通过该组件可以很方便的创建XML文档

1:创建XML文档对象

代码如下

Document document=DocumentHelper.createDocument();

2:创建根节点

为XML文档创建根节点 首先需要创建一个普通节点  然后调用方法将该节点设置为根节点

创建一个普通节点语法如下

public static Element createElement(String name)

设置为根节点

public void setRootElement(Element rootElement)

3:添加注释

public Element addComment(String comment)

 placard.addComment("芝士根节点");

4:添加属性

public Element addAttribute(String name,String value)

 5:设置节点的内容

public void setText(String text)

6:设置编码

public void setEncoding(String encoding)

7:设置输出格式

public static OutputFormat createPrettyPrint()

 输出XML文档

1:未设置输出格式

XMLWriter writer=new XMLWriter(new FileWriter(fileURL));
writer.write(document);
writer.close();

2:已经设置了输出格式或编码集

 

XMLWriter writer=new XMLWriter(new FileWriter(fileURL),format);
writer.write(document);
writer.close();

 四、解析XML文档

构建XML文档对象

SAXReader reader=new SAXReader();
Document document=reader.read(new File(fileURL));

获取根节点

Element placard=document.getRootElement();

 获取子节点

1:element方法

用于获取指定名称的第一个节点

public Element element(String name)

2:elements方法

用于获取指定名称的全部节点

public List elements(String name)

 五、修改XML文档

1:修改节点

在修改XML文档的节点前 首先需要查询到该节点

查询符合条件的唯一节点

public Node selectSingleNode(String xpathExpression)

 查询符合指定条件的节点列表

public List selectNodes(String xpathExpression)

 获取到要修改的节点后 就可以应用前面的方法对该节点进行修改操作

2:删除节点

同理首先查询你要删除的节点 方法同上

然后用remove方法删除该节点

public boolean remove(Element element)

 

 

 

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

showswoller

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值