搜索
博主信息
博文 3
粉丝 0
评论 0
访问量 4351
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
JavaScript解析XML,js解析xml字符串
猿数据
原创
1987人浏览过

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>


   


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学