XML的写法

下面我将以如下代码来解释下XML的写法

<?xml version="1.0" encoding="UTF-8" ?>
<Steam><steam id="1"><zhanghao>admin</zhanghao><mima>123</mima><num>120</num></steam><steam id="2"><zhanghao>admin</zhanghao><mima>234</mima><num>200</num></steam>
</Steam>

 以上是我的XML代码

<?xml version="1.0" encoding="UTF-8" ?>是XML文档的声明,一下是查到的XML作用

这串代码在idea工具,打个“<x”就能出现了,后面是编译格式是utf-8(中文)格式

<?xml version="1.0" encoding="UTF-8" ?> 是XML声明,它在XML文档中起到几个重要的作用:

  1. 指定XML版本version="1.0" 表示该XML文档遵循XML 1.0规范。XML有多个版本,但这个声明指定了文档使用的是第一个广泛接受和实施的版本,即XML 1.0。

  2. 指定文档编码encoding="UTF-8" 定义了文档中字符的编码方式。UTF-8是一种非常普遍且能够表示多种语言的字符编码方式。通过这个声明,解析器知道如何正确地读取和解释文档中的字符。

  3. 确认文档是XML:这个声明告诉解析器该文档是一个XML文档,而不是其他类型的文档。这对于处理混合内容(例如,当服务器返回的内容可能是HTML、XML或其他类型)的客户端来说尤其重要。

  4. 标准化:通过包含XML声明,文档遵循了XML标准,这使得文档可以在不同的系统、平台和应用程序之间更容易地交换和解析。

  5. 避免混淆:对于某些应用程序和解析器,如果没有XML声明,它们可能会混淆XML文档与其他类型的文档,如HTML。

总之,XML声明是XML文档的一个重要组成部分,它确保了文档的正确解析和跨平台的兼容性。在创建XML文档时,通常建议始终包含XML声明

所以说声明一般不要省略

声明完后,开始创建XML代码,这个可以看成是对象的声明,id是第几个的意思,zhanghao是账号的意思,mima是密码的意思,num是数量的意思,steam是对象,都是我随便起的。

然后我们看下test(测试类内容)

package com.bw.test;
import com.bw.domain.Steam;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;import java.io.InputStream;
import java.util.List;public class MyTest2 {@Testpublic void test2() throws DocumentException {InputStream resource = MyTest2.class.getClassLoader().getResourceAsStream("steam.xml");SAXReader reader = new SAXReader();Document read = reader.read(resource);Element element = read.getRootElement();List<Element> elements = element.elements();for (Element element1 : elements) {Steam s=new Steam();String id = element1.attributeValue("id");s.setId(new Integer(id));List<Element> elements1 = element1.elements();for (Element element2 : elements1) {String name = element2.getName();String val = element2.getTextTrim();if ("zhanghao".equals(name)){s.setZhanghao(val);} else if ("mima".equals(name)) {s.setMima(val);} else if ("num".equals(name)) {s.setNum(new Integer(val));}}System.out.println(s);}}
}

 1. InputStream resource = MyTest2.class.getClassLoader().getResourceAsStream("steam.xml");

是获取文件流;

steam.xml是上方xml文件的文件名

2.SAXReader reader = new SAXReader();是创建解析对象;

3.Document read = reader.read(resource);使用解析对象的方法将文件流变成文档对象

4.Element element = read.getRootElement();获取根标签<Steam></Steam>

5.List<Element> elements = element.elements();获取跟标签的子标签<Steam id="1"></Steam>;

<Steam id="2"></Steam>

以下是代码产生的效果:

是不是很有意思!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/485369.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【高德地图】Android高德地图初始化定位并显示小蓝点

&#x1f4d6;第3章 初始化定位并显示小蓝点 ✅第1步&#xff1a;配置AndroidManifest.xml✅第2步&#xff1a;设置定位蓝点✅第3步&#xff1a;初始化定位✅完整代码 ✅第1步&#xff1a;配置AndroidManifest.xml 在application标签下声明Service组件 <service android:n…

金航标电子位于广西柳州鹿寨县天线生产基地于大年正月初九开工了!!!

金航标电子位于广西柳州鹿寨县天线生产基地于大年正月初九开工了&#xff01;&#xff01;&#xff01;金航标kinghelm&#xff08;www.kinghelm.com.cn&#xff09;总部位于中国深圳市&#xff0c;兼顾技术、成本、管理、效率和可持续发展。东莞塘厦实验室全电波暗室、网络分析…

Vue响应式状态ref()与reactive()

1. ref()声明响应式状态 <template><!--在DOM元素调用变量时,不需要指定输出变量的value,因为Vue会帮你输出.value但是注意,这个帮助只会帮助顶级的ref属性才会被解包--><div>{{ count }}</div><div>{{ object }}</div><div>{{ arr…

备份恢复指定数据库

mysqldump -uroot -p密码 数据库名 > 备份名_bak.sql 执行命令&#xff0c;在C:\Users\Administrator找到文件 在新库上执行SQL语句

【Oracle】玩转Oracle数据库(四):SQL语言

前言 嘿&#xff0c;各位数据达人们&#xff01;准备好迎接新的挑战了吗&#xff1f;今天&#xff0c;我们要探索的是数据库世界的魔法咒语——SQL语言&#xff01;&#x1f52e;&#x1f4bb; 在这篇博文【Oracle】玩转Oracle数据库&#xff08;四&#xff09;&#xff1a;SQL…

史上最全网络安全术语汇总

整理了一份网络安全词汇术语解释&#xff0c;这是一份在关键时刻能救命的文档。 以前被当做vip会员资料给会员的&#xff0c;现在限时免费分享给大家&#xff0c;有需要的朋友可以下载收藏。分享过期后也不要再跟波哥要了哈&#xff01; 部分内容截选&#xff1a; 网络安全通…

Elastic Search:构建语义搜索体验

当你逐步熟悉 Elastic 时&#xff0c;你将使用 Elasticsearch Relevance Engine™ (ESRE)&#xff0c;该引擎旨在为 AI 搜索应用程序提供支持。 借助 ESRE&#xff0c;你可以利用一套开发人员工具&#xff0c;包括 Elastic 的文本搜索、向量数据库和我们用于语义搜索的专有转换…

https://registry.npm.taobao.org淘宝npm镜像仓库地址更新

在工作中有遇见获取淘宝的npm镜像存在问题&#xff0c;图示如下的报错&#xff1a; 根据报错的内容是说 https://registry.npm.taobao.org地址访问失败了&#xff0c;然后通过排查发现淘宝的npm镜像仓库地址有更新了。需要使用最新的地址 旧的淘宝镜像仓库&#xff1a;https://…

全国各省建成区绿化覆盖率数据集(2006-2021年)

时间范围&#xff1a;2006-2021年 参考文献&#xff1a; [1] 吕桁宇, 马春爱, 汤桐, 郝馥莹. 环境规制、技术创新与工业企业能源强度[J]. 统计与决策, 2023, 39 (10): 59-64. [2] 李思慧, 徐保昌. 环境规制与技术创新——来自中国地级市层面的经验证据[J]. 现代经济探讨, 20…

移动硬盘误删的文件还能找回来吗?1分钟弄清答案!

“想问问大家如果移动硬盘里保存了很多文件&#xff0c;但上次使用时不小心将部分文件删除了&#xff0c;还有机会找回误删的文件吗&#xff1f;应该怎么进行误删文件的恢复呢&#xff1f;” 在数字化时代&#xff0c;移动硬盘成为了我们存储和传输数据的重要工具。然而&#x…

编程学习线上提问现场解答流程,零基础学编程从入门到精通

编程学习线上提问现场解答流程 一、前言 之前给大家分享的一款中文编程工具&#xff0c;越来越多的学员使用这个工具学习编程。 在学习中有疑难问题寻求解答流程 1、可以在本平台留言或发私信联系老师 2、可以在群提问及时解答问题 3、通过线上会议的方式&#xff0c;电脑…

基于自动化工具autox.js的抢票(猫眼)

1.看到朋友圈抢周杰伦、林俊杰演唱会票贼难信息&#xff0c;特研究了一段时间&#xff0c;用autox.js写了自动化抢票脚本&#xff0c;购票页面自动点击下单&#xff08;仅限安卓手机&#xff09;。 2.脚本运行图 3.前期准备工作 &#xff08;1&#xff09;autox.js社区官网&am…