首页 新闻 会员 周边 捐助

为什么没有找到head, 或者说head在这里消失了?

0
[已解决问题] 解决于 2017-08-25 16:31

javascript ,    jquery

var s1 = '<REQUEST><HEAD></HEAD><DATA></DATA></REQUEST>';

var jsonContent = $(s1);
for (var i=0;i<jsonContent.length;i++) {
console.log(jsonContent[i]);
}

输出 [data]

qxm9423的主页 qxm9423 | 菜鸟二级 | 园豆:211
提问于:2017-08-25 11:51
< >
分享
最佳答案
1

为什么没有head,因为s1是字符串,$(s1),这里s1被当作html来处理了,而head节点又是html中的特殊节点。

以上都是推测,总结一句话就是对s1的处理要当成xml,而不是html。

下面是操作xml的正确姿势

<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script>
    $(function () {
        var s1 = '<REQUEST><HEAD></HEAD><DATA></DATA></REQUEST>';
        var xmlContent = jQuery.parseXML(s1);
        
        var $xml = $(xmlContent);
        console.log($xml);
        var $root = $xml.children();
        console.log($root);
        var $items = $root.children();
        console.log($items);

        for (var i = 0; i < $items.length; i++) {
            console.log($items[i]);
        }
    });
</script>

 

 

奖励园豆:5
写代码的小2B | 老鸟四级 |园豆:4377 | 2017-08-25 13:04

 已采纳  谢谢  

qxm9423 | 园豆:211 (菜鸟二级) | 2017-08-25 16:24

 还有个问题 跟这个一起的

data = "<KSDM></KSDM><YYRQ></YYRQ>";

var xmlData = jQuery.parseXML(data);
for (var i=0;i<xmlData.length;i++) {
console.log(xmlData[i]);
}

 

 

报错 : jquery.js:2 Uncaught Error: Invalid XML: <KSDM></KSDM><YYRQ></YYRQ>

qxm9423 | 园豆:211 (菜鸟二级) | 2017-08-25 16:25

 这是为什么

qxm9423 | 园豆:211 (菜鸟二级) | 2017-08-25 16:26

@qxm9423: 

刚刚博客园网络抽风了,

XML要有一个根节点。

写代码的小2B | 园豆:4377 (老鸟四级) | 2017-08-25 16:31

@写代码的小2B: 好吧  我那会也猜到估计是这样 可是这里我是想把这个作为一个变量值等传入值后再放进那个根节点里去的 这样的话就不行了是吧

qxm9423 | 园豆:211 (菜鸟二级) | 2017-08-25 16:33
其他回答(1)
0

看不懂在说啥.谁能看懂的来说说

吴瑞祥 | 园豆:29449 (高人七级) | 2017-08-25 11:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册