首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Jquery parseXML不能工作?

为什么Jquery parseXML不能工作?
EN

Stack Overflow用户
提问于 2015-03-08 16:46:01
回答 1查看 3.6K关注 0票数 1

我对xml很陌生,我正在尝试使用JQuery parseXML()搜索一个xml文件。我编写了下面的代码来搜索xml文件中的<name>标记,并输出每个name的值。

当我运行代码时,我得到以下两个错误:

代码语言:javascript
复制
  syntaxisfout         
  index.html:1:1

  Error: Invalid XML: test.xml    
  jquery.min.js:2:1820

我使用了本教程:http://api.jquery.com/jQuery.parseXML/

这是我使用的xml文件结构:

代码语言:javascript
复制
<store>
  <product>
      <name>product name</name>
      <price>price</price>
      <platform>platform</platform>
  </product>
</store>

这是我使用的JQuery代码:

代码语言:javascript
复制
xmlDoc = $.parseXML( 'test.xml' ); //path to xml file
$xml = $( xmlDoc );
$name = $xml.find( "name" );

$(document).each(function(){
    $('body').append('<p>'+ name + '</p>');
});

有人能说出我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-08 16:55:20

问题是您正在使用一个文件名作为xml参数。$.parseXML中没有解析文件的工具。它解析XML字符串。如果需要从单独的文件中加载XML,则需要将其放入ajax或以其他方式将文件加载到js变量中:

代码语言:javascript
复制
xmlStr = '<store>'
 + ' <product>'
 + '    <name>product name</name>'
 + '     <price>price</price>'
 + '     <platform>platform</platform>'
 + ' </product>'
 + '</store>';

xmlDoc = $.parseXML(xmlStr);
$xml = $(xml);
// do stuff

使用ajax:

代码语言:javascript
复制
$.ajax({
     url: 'url/for/text.xml',
     dataType: 'xml'
}).done(function (xmlDoc) {
    $xml = $(xmlDoc);
    // do stuff
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28929083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档