Java web学习day09 xml

2021/10/5 11:11:35

本文主要是介绍Java web学习day09 xml,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

xml(Extensible Markup Language)

可扩展的标记性语言。
作用:

1.保存数据,这些数据具有描述性
student.xml

<students>
        <student>
                 <id>1</id>
                 <name>华仔</name>
        </student>
        <student>
                 <id>2</id>
                 <name>张三</name>
        </student>
</students>

2.还可以作为项目或模块的配置文件
3.还可以作为网络传输数据的格式(现在JSON为主)

xml语法

1.文档声明
2.元素(标签)
3.xml属性
4.xml注释
5.文本区域(CDATA区)

<?xml version="1.0" encoding="utf-8" ?>
<!--
xml文件的声明
version="1.0" xml的版本
encoding="utf-8" xml文件本身的编码
-->
<books>
    <book sn="123">
        <name>时间简史</name>
        <author>霍金</author>
        <price>75</price>
    </book>
</books>

1.文档声明

2.元素(标签)

xml元素指的是从(且包括)开始标签直到(且包括)结束标签的部分
元素可包含其他元素、文本或两者的混合。元素也可以拥有属性。

名称可以含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字符 “xml”(或者 XML、Xml)开始
名称不能包含空格
对大小写敏感
文档必须有根元素(顶级元素),根元素是没有父标签的顶级元素,而且是唯一一个才行。

3.xml属性

属性值必须加引号

4.xml注释

和html一样

5.文本区域(CDATA区)

快捷键:大写C+回车/TAB
CDATA格式

<![CDATA[原样显示,不解析]]>

xml解析

不管是html还是xml文件都是标记型文档,都可以使用w3c组织制定的dom技术来解析
在这里插入图片描述
document 对象表示的是整个文档(可以是 html 文档,也可以是 xml 文档)

dom4j解析技术

快捷键:sout+回车->System

/** 读取 xml 文件中的内容 */ 
@Test
public void readXML() throws DocumentException { 
// 需要分四步操作: 
// 第一步,通过创建 SAXReader 对象。来读取 xml 文件,获取 Document 对象
// 第二步,通过 Document 对象。拿到 XML 的根元素对象 
// 第三步,通过根元素对象。获取所有的 book 标签对象 
// 第四步,遍历每个 book 标签对象。然后获取到 book 标签对象内的每一个元素,再通过 getText() 方法拿到起始标签和结束标签之间的文本内容 
// 第一步,通过创建 SAXReader 对象。来读取 xml 文件,获取 Document 对象 	
	SAXReader reader = new SAXReader(); 			 
	Documentdocument=reader.read("src/books.xml"); 
// 第二步,通过 Document 对象。拿到 XML 的根元素对象 
	Element root = document.getRootElement(); 
// 打印测试 
// Element.asXML() 它将当前元素转换成为 String 对象 
// System.out.println( root.asXML() ); 
// 第三步,通过根元素对象。获取所有的 book 标签对象 
// Element.elements(标签名)它可以拿到当前元素下的指定的子元素的集合 
	List<Element> books = root.elements("book"); 
// 第四步,遍历每个 book 标签对象。然后获取到 book 标签对象内的每一个元素
     for (Element book : books) { 
// 测试 
// System.out.println(book.asXML()); 
// 拿到 book 下面的 name 元素对象 
		Element nameElement = book.element("name"); 
// 拿到 book 下面的 price 元素对象 
		Element priceElement = book.element("price"); 
// 拿到 book 下面的 author 元素对象 
		Element authorElement = book.element("author"); 
// 再通过 getText() 方法拿到起始标签和结束标签之间的文本内容 
		System.out.println("书名" + nameElement.getText() + " , 价格:"+priceElement.getText() + ", 作者:" + authorElement.getText()); 
      } 
}


这篇关于Java web学习day09 xml的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程