XML相关知识

深入解析XML及其解析技术

XML

简介

XML(EXtensible Markup Language),可扩展标记语言

特点:

XML与操作系统、编程语言的开发平台无关

实现不同系统之间的数据交换

作用:

数据交互

配置应用程序和网站

Ajax基石

XML文档结构

<?xml version="1.0" encoding="UTF-8"?>  //声明
<books>
    <!--图书信息 -->
    <book id="bk101">
        <author>王珊</author>
        <title>.NET高级编程</title>
        <description>包含C#框架和网络编程等</description>
    </book>
    <book id="bk102">
        <author>李明明</author>
        <title>XML基础编程</title>
        <description>包含XML基础概念和基本作用</description>
    </book>
</books>

XML标签

XML文档内容由一系列标签元素组成

<元素名 属性名=“属性值”>元素内容</元素名>

属性值用双引号包裹

一个元素可以有多个属性

属性值中不能直接包含<、“、&

不建议使用的字符:‘、>

XML编写注意事项

所有XML元素都必须有结束标签

XML标签对大小写敏感

XML必须正确的嵌套

同级标签以缩进对齐

元素名称可以包含字母、数字或其他的字符

元素名称不能以数字或者标点符号开始

元素名称中不能含空格

属性命名空间

所有XML元素都必须有结束标签
XML标签对大小写敏感
XML必须正确的嵌套
同级标签以缩进对齐
元素名称可以包含字母、数字或其他的字符
元素名称不能以数字或者标点符号开始
元素名称中不能含空格

除非带有前缀,否则属性属于所属的元素的命名空间

XML命名空间

XML命名空间的作用:解决在复杂、大型XML文件中,出现名称相同,但是含义不同的元素

<?xml version="1.0" encoding="UTF-8"?>
<cameras xmlns:canon="http://www.canon"
    xmlns:nikon="http://www.nikon.com">
    <canon:camera prodID="P663" name="Camera傻瓜相机"/>
    <nikon:camera prodID=K29B3” name=Camera超级35毫米相机"/>
</cameras>

解析XML技术

DOM

基于XML文档树结构的解析

适用于多次访问的XML文档

特点:比较消耗资源

SAX

基于事件的解析

适用于大数据量的XML文档

特点:占用资源少,内存消耗小

DOM4J

非常优秀的Java XML API

性能优异、功能强大

开放源代码

DOM解析XML

DOM介绍

文档对象模型(Document Object Model)

DOM把XML文档映射成一个倒挂的树

<book >
    <title>三国演义</title>
    <author>罗贯中</author>
    <price>30元</price>
</book>

在这里插入图片描述

常用接口介绍

DOM解析包:org.w3c.dom

在这里插入图片描述

保存XML文件

在这里插入图片描述

修改/删除DOM节点

给所有的Brand标签添加id属性

获取Brand标签

调用setAttribute()方法添加属性

删除Brand值为“华为”的标签

getElementsByTagName()方法获取Brand标签列表

获得Brand值为“华为”的标签对象

通过getParentNode()方法获得父节点对象

调用父节点的removeChild()方法删除节点

DOM4J解析XML

在这里插入图片描述

在这里插入图片描述

通过getParentNode()方法获得父节点对象

调用父节点的removeChild()方法删除节点

DOM4J解析XML

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值