Blogger Information
Blog 3
fans 0
comment 0
visits 3686
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
JavaScript解析XML,js解析xml字符串
猿数据
Original
1729 people have browsed it

XMl

可扩展的文本标记语言,用来传输数据和保存数据

整个文档是一个文档节点
每个XMl标签是一个元素节点
包含在xml标签内的文本是文本节点
每个xml属性是一个属性节点
注释属于一个注释节点

XML 文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。

<?xml version="1.0" encoding="utf-8"?>//声明版本和字符集
    <root>//根元素
        <child>
            <subchild>.....</subchild>
        </child>
    </root>

ps:
    xml的主要作用是为了信息传递
    xml必须有根元素
    所有的xml标签必须由关闭标签
    xml对大小写敏感
    xml必须正确的嵌套
    xml属性加引号

JS解析Xml

JS解析xml文件

//创建文档  
var xmldoc=document.implementation.createDocument('','',null);
//是否异步,true同步,false异步
xmldoc.async=false;
//xml文件
xmldoc.load('1.xml');

JS解析字符串

var str="<?xml version='1.0' ...........";

//创建文档对象
var parser=new DOMParser();//创建文档对象
var xmldoc=parser.parser.parserFromString(str,'text/xml')

代码部分

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

   

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>js解析xml文档</title>

</head>

<body>

    <script type="text/javascript">

        //创建文档

        var xmlDoc=document.implementation.createDocument("","",null);

        //是否异步 true同步  false 异步

        xmlDoc.async=false;

        //xml文件

        xmlDoc.load("1.xml");

  

        //解析文档中的内容

        // console.log(xmlDoc);

        //获取文档中标签元素对象

        var names = xmlDoc.getElementsByTagName('name');

        // console.log(names);

        var arr  = [];

        for (var i = 0; i < names.length; i++) {

            arr[arr.length] = names[i].innerHTML;

        };

        console.log(arr);

  

        //获取属性

        console.log(names[0].getAttribute('class'));

    </script>

</body>

</html>

   

xml

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

   

<?xml version='1.0' encoding='utf-8'?>

<movies>

    <movie>

        <name class='iloveyou'>辩护人</name>

        <country>韩国</country>

    </movie>

    <movie>

        <name>V字仇杀队</name>

        <country>美国</country>

    </movie>

    <movie>

        <name>盗梦空间</name>

        <country>美国</country>

    </movie>

</movies>

   

代码解析xml字符串:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

   

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>js解析xml字符串</title>

</head>

<body>

    <script type="text/javascript">

    var str = "<?xml version='1.0' encoding='utf-8'?> <movies> <movie> <name>辩护人</name> <country>韩国</country> </movie> <movie> <name>V字仇杀队</name> <country>美国</country> </movie> <movie> <name>盗梦空间</name> <country>美国</country> </movie> </movies>"; 

    //创建文档对象

    var parser=new DOMParser();

    var xmlDoc=parser.parseFromString(str,"text/xml");

  

    //提取数据

    var countrys = xmlDoc.getElementsByTagName('country');

  

    var arr = [];

  

    for (var i = 0; i < countrys.length; i++) {

        arr.push(countrys[i].textContent);

    };

    console.log(arr);

      

    </script>

</body>

</html>


   


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post