浅谈XML
一、XML与XTML的区别
XML
是一种标记语言,很类似 HTML,XML 标签没有被预定义,需要自行定义标签,被设计用来传输和存储数据。
HTML
被设计用来显示数据。
区别
(1)XML 是对 HTML 的补充。
(2)XML 不会替代 HTML,理解这一点很重要。在大多数 web 应用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据。对 XML 最好的描述是:
XML 是独立于软件和硬件的信息传输工具。
(3)XML 仅仅是纯文本,XML 没什么特别的。它仅仅是纯文本而已。有能力处理纯文本的软件都可以处理 XML。
(4)XML是一种可扩展的标记语言,可扩展就是<>内的东西可以自己定义,可以随便写。标记语言就是加了<>符号的 。HTML是超文本标记语言,不可以拓展,因为你写个
浏览器知道这个是段落,你写个浏览器就不认识了,所以不可拓展.
二、XML的运用
下面来介绍一下Java是怎么操作xml的,也可以说是怎么操作DOM的,以前一直听说DOM,Dom就是不知道是什么,原来DOM就是内存中的一个树形结构的数据称谓,xml的数据就是树形结构的,在内存中就是DOM。
1、Java读取xml
<?xml version="1.0" encoding="UTF-8"?>
<Students>
<student>
<name>许嵩</name>
<age>32</age>
</student>
<student>
<name>蜀云泉</name>
<age>23</age>
</student>
</Students>
比如上面的xml文件,我想获取第二个student元素的name里面的文本,操作步骤如下:
1.获取xml文件
2.获取根元素students
3.获取根元素下面的第二个student元素
4.获取第二个student元素的name元素
5.获取name的文本内容
private File f=new File("F:/Study Java/ch1helloworld/src/main/java/com/StadyJava/day2/xmldemo.xml");
public void testDocument() throws ParserConfigurationException, IOException, SAXException {
//1.
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
//2.
DocumentBuilder builder=factory.newDocumentBuilder();
//3 经过这3步获取到了文档
Document doc=builder.parse(f);
//上面的三步可以写成这样
//Document doc=DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(f);
//已经获取了文档对象,现在获取xml的根元素
Element root=doc.getDocumentElement();
//获取第二个student 因为返回的是父类型Node,所以需要强转一下
Element student2=(Element) root.getElementsByTagName("student").<