如何解析从 url 返回的此 xml
How can I parse this xml returned from a url?
>我的网址有以下xml返回:
<?xml version="1.0"?>
<categories>
<category>
<catid>17</catid>
<name>Collage</name>
<parent></parent>
</category>
<category>
<catid>15</catid>
<name>Letter Mats</name>
<parent></parent>
</category>
<category>
<catid>182</catid>
<name>Single Opening</name>
<parent></parent>
</category>
</categories>
我的JavaScript代码,我有:
var matte_select_options = new Array();
function matte_designs_populate_types()
{
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "myurl/system/components/catsxml/3",
dataType: 'xml',
success: function(xml) {
designs = xml.getElementsByTagName("categories")[0].childNodes;
var output = [];
alert(designs.length);
for (i = 0; i < designs.length; i++)
{
var catid = designs[i].getAttribute("catid");
var name = designs[i].getAttribute("name");
output.push('<option value="'+ catid +'">'+ name +'</option>');
matte_select_options[catid] = name;
}
$('#matte_designs').html(output.join(''));
}
});
});
}
出于某种原因,警报给了我 7,我不确定为什么。不过,主要问题是选择没有填充,因为甚至没有设置 catid 和名称。
您可以将返回的XML转换为jQuery对象,然后像往常一样使用jQuery的DOM遍历函数。试试这个:
success: function(xml) {
var output = [];
$('category', xml).each(function(i, el) {
var catid = $("catid", this).text();
var name = $("name", this).text();
output.push($('<option />', { value: catid, text: name }));
matte_select_options[catid] = name;
});
$('#matte_designs').html(output);
}
示例小提琴
在你的xml示例中:catid
和name
不是atrributes。它们是节点,信息包含在它们的内容中。
如果您使用的是 jQuery
,您应该能够使用 jQuery
选择器和操纵器解析 xml:
success: function(xml) {
var designs = $(xml).find('category');
var output = [];
designs.each(function(){
var catid = $(this).find('catid').text();
var name = $(this).find('name').text();
output.push('<option value="'+ catid +'">'+ name +'</option>');
matte_select_options[catid] = name;
});
$('#matte_designs').html(output.join(''));
}
相关文章:
- 将ActiveXObject返回值转换为JQuery Object以处理XML
- IE8DOM转换XML,并且不从jQueryfind()或filter()返回任何内容
- JQuery AJAX 在 GET 请求完成时返回 XML
- 在 NodeJS + AJAX&XML 上返回成功
- 如何在node.js中返回与URL请求相对应的XML文件
- Web API在JSON调用上返回XML
- Ajax调用在本地返回json,但在服务器上运行时返回xml
- 异步xml请求不会;t返回
- 如何解析从 url 返回的此 xml
- 当标签值与使用 JavaScript 的输入匹配时,返回 XML 标签属性
- 我的 gulp 插件带有 through2 以奇怪的类似 XML 格式返回文件
- 编写从 XML 文件返回数据的搜索字段脚本
- Internet Explorer 11 不会读取 XML 的“getElementById”并返回 null
- ajaForm 在 responseXML 中返回无效的 XML
- 返回通过 jQuery 解析的 XML 数据
- AngularJS在从XML转换后不会返回JSON
- 删除XML字符串中的返回值
- jQuery XML解析-返回子元素的父元素
- JavaScriptAJAX调用一个返回XML的PHP
- nodejs使用cheerio解析xml返回空CDATA