[Java Web] XML

一、概述

XML(可扩展标记语言)是一种数据的描述语言,依赖其他语言的解释。

XML的设计目的是传输、结构化和存储数据,而非显示数据。其标签和文档结构由用户自定义(没有预定义标签)。

二、语法

所有的XML文档必须在首行进行声明。

XML中所有标签都必须有关闭标签,且必须有且仅有一个根标签。

标签名称可以包含字符、数字、减号、下划线和英文句号,命名规范如下:

  • 严格区分大小写
  • 只能以字母或下划线开头
  • 标签名称之间不能存在空格或制表符
  • 标签名称之前不能存在冒号
  • W3C规定标签名称不能以XML开头。

所有的标签都必须被正确的嵌套。

<?xml version="1.0" encoding="UTF-8" ?>
<note date="2018-7-30" author="Yao">
    <text>Hello World!</text>
</note>
View Code

三、解析器

解析器可以将XML转换为可通过JS操作的DOM对象。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isELIgnored="false" %>
<html>
<body>
<script language="JavaScript">
    function load1() {
        var xmlRequest = new XMLHttpRequest();
        xmlRequest.open("GET", "test.xml", false);//向服务器发送请求
        xmlRequest.send();//向服务器发送数据
        return xmlRequest.responseXML;//获取XML形式数据
    }

    xmlDoc = load1();
    alert(xmlDoc.getElementsByTagName("sender")[0].textContent);
    alert(xmlDoc.getElementsByTagName("receiver")[0].textContent);
    alert(xmlDoc.getElementsByTagName("text")[0].textContent);
</script>

<script language="JavaScript">
    function load2() {
        var parser = new DOMParser();
        var str = "<note date=\"2018-07-30\">"
            + "<sender>Yao</sender>"
            + "<receiver>Lee</receiver>"
            + "<text>Hello World!</text>"
            + "</note>";
        return parser.parseFromString(str, "text/xml");
    }

    xmlDoc = load2();
    alert(xmlDoc.getElementsByTagName("sender")[0].textContent);
    alert(xmlDoc.getElementsByTagName("receiver")[0].textContent);
    alert(xmlDoc.getElementsByTagName("text")[0].textContent);
</script>
</body>
</html>
View Code

猜你喜欢

转载自www.cnblogs.com/arseneyao/p/9383805.html