Ajax数据传输_XML

XML简介

XML 指可扩展标记语言EXtensible Markup Language,他设计的时候是用来传递数据的,虽然格式跟HTML类似.

  • xml示例 下面是一个XML示例

    <?xml version="1.0" encoding="UTF-8"?>
    <singer>
    <name>周杰伦</name>
    <age>18</age>
    <skill>途牛</skill>
    </note>
    
  • xml是纯文本 XML是纯文本,这点跟HTML很像,所以我们可以用任何的文本编辑软件去打开编辑它

XML语法

虽然看起来跟HTML类似,但是XML的语法有些需要注意的,更为详细的可以查阅w3cschool_xml教程

  • XML声明 第一行是XML的声明,指定 XML 版本(1.0)以及使用的编码(UTF-8万国码)

    <?xml version="1.0" encoding="UTF-8"?>
    
  • 自定义标签 XML中没有默认的标签,所有的标签都是我们定义者自定义的

    <!-- 下列标签都是被允许的 --> 
    <fox></fox>
    <name></name>
    
  • 双标签 XML中没有单标签,都是双标签

    <haha>标签内</haha>
    
  • 根节点 XML中必须有一个根节点,所有的子节点都放置在根节点下

    <root>
      <name></name>
    </root>
    
  • XML属性HTML一样,XML的标签里面也能够添加属性type = 'text',但是不建议这样用,而是使用标签的方式来表述内容(下半部分代码)

    <!-- 使用属性配合标签表述信息 --> 
    <person sex="female">
      <firstname>Anna</firstname>
      <lastname>Smith</lastname>
    </person> 
    <!-- 使用标签来表述信息 --> 
    <person>
      <sex>female</sex>
      <firstname>Anna</firstname>
      <lastname>Smith</lastname>
    </person>
    

XML解析

因为XML就是标签,所以直接用解析Dom元素的方法解析即可

  • html代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
    </head>
    <body>
      <person id='personXML'>
          <name>fox</name>
          <age>18</age>
          <skill>小花花</skill>
      </person>
    </body>
    </html>
    
    <!-- 获取方法 -->
    <script type="text/javascript">
        var xmlObj = document.getElementById("personXML");
        var name = xmlObj.getElementsByTagName('name')[0].innerHTML;
        console.log(name);
    </script>
    

PHP中设置Header

在php中如果要使用xml传输数据,需要使用header()设置返回的内容为xml

header('content-type:text/xml;charset=utf-8');

results matching ""

    No results matching ""