计算机系统应用教程网站

网站首页 > 技术文章 正文

XML文件

btikc 2024-09-22 01:11:47 技术文章 27 ℃ 0 评论

一、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 标签的属性

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表