网站首页 > 技术文章 正文
一、XML(EXtendsible Markup Language):可扩展标记语言,可理解为:xml是描述数据的语言。
1.特点:xml与操作系统、编程语言的开发平台无关
2.作用:
a.实现不同平台之间的数据交互.
b.实现服务器(S)与客户端(B)之间的数据交互---->Json技术
c.充当应用程序配置文件
d.充当xml文件型的数据库
二、编写一个格式规范的xml文档(xml文件扩展名:.xml)
1.xml文档需要有声明
<?xml version="10" encoding="utf-8"?>
2.xml文档必须要有根元素
<根元素>文档主体部分</根元素>
3.编写xml的注意事项
a.xml标签成对出现且区分大小写
b.xml标签正确嵌套
c.xml元素名不能有特殊字符(java变量的规范)
d.不能出现特殊字符(如:< > ...)
<!CDATA[ 将特列字符当作内容:<age>21</age> ]]>
4.验证xml文件
验证的目录:验证出现哪元素、元素出现的顺序、元素出现的属性、属性值|元素值的类型
实现xml文件的验证:DTD,Schema
三、使用xml文件(充当数据库) 存多名学生信息
<?xml version="1.0" encoding="UTF-8"?>
<stulist> 理解表
<student> 理解表中的行
<xh>101</xh> 理解中列
<name>张三</name>
<age>21</age>
<address>湖北武汉</address>
</student>
<student>
<xh>102</xh>
<name>李四</name>
<age>21</age>
<address>湖北武汉</address>
</student>
......
</stulist>
四:java程序解析xml文件
1.解析xml文件的技术:dom解析(基于树状结构解析)、sax解析(基于事件)、dom4j解析,JDOM解析。
2.使用DOM4J解析
2.1 术语:
Docuemnt 表示xml文档
Element 定义xml文档中的元素
Attribute 定xml的元素的属性
Text 表示xml文档的内容
3.解析xml文件的步骤
//1.导入dom4j的jar包
//将dom4j的jar包复制到项目的lib文件夹,再在右键jar包添加到构建路径
try {
//2.获取解析xml文件的路径
String path=System.getProperty("user.dir"); //获取项目目录
String filePath=path+"\\src\\studnets.xml";
//3.使用SAXReader对象读取xml文件(将xml文件转化为Document)
SAXReader reader=new SAXReader();
Document document=reader.read(filePath);
//4.获取文档根元素
Element root=document.getRootElement();
//5.操作xml文档内容
//5.1获取元素名称
//System.out.println("元素名称:"+root.getName());
//5.2获取元素内容
//System.out.println("元素内容:"+root.getText());
//5.3获取元素的所有子标签
List<Element> childs=root.elements();
for (Element stu : childs) {
//操作属性
//List<Attribute> attris=stu.attributes(); //所有属性
//System.out.println(attris.get(0).getValue()); //获取某属性的值
String v=stu.attributeValue("xh"); //获取无素某属性的值
System.out.print("学号:"+v);
//通过子元素名取值
System.out.print("姓名是:"+stu.elementText("name"));
System.out.print("年龄是:"+stu.elementText("age"));
System.out.print("地址是:"+stu.elementText("address"));
System.out.println();
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
认识标签:
<name id="101">标签体</name>
name 元素名称
<name> name标签
</name> 回标签
id 标签的属性
猜你喜欢
- 2024-09-22 MyBatis模拟实现
- 2024-09-22 成都校区*精品*Dom4J解析XML的范例浅析
- 2024-09-22 Jenkins Nested View插件XXE漏洞(CVE-2021-21680)分析
- 2024-09-22 Java互联网架构-Spring IOC底层源码分析
- 2024-09-22 Dom4j解析xml的小demo
- 2024-09-22 java全栈CMS:AOP+Freemarke代码自动生成4
- 2024-09-22 专科生逆袭入职阿里P6,成人生赢家。网友:我应该也可以
- 2024-09-22 在IDEA的maven项目中连接使用MySQL8.0方法教程
- 2024-09-22 Spring:IOC 控制反转
- 2024-09-22 Dom4j解析xml
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)