gpt4 book ai didi

javascript - jquery 获取 xml 属性值,转义\\不工作

转载 作者:行者123 更新时间:2023-11-29 21:58:44 26 4
gpt4 key购买 nike

注意:我发布了another question最近关于这个,但它被标记为重复,因为我没有明确说明我已经尝试过的内容。我将尝试解释这次我在哪些方面做得更好。

这是我要解析的 XML 文件的一部分:

<entry>
<id>http://www.google.com/m8/feeds/contacts/7ff84d8009d9a0b</id>
<updated>2010-04-11T12:47:03.281Z</updated>
<category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/contact/2008#contact'/>
<title type='text'>Name</title>
<link rel='http://schemas.google.com/contacts/2008/rel#edit-photo' type='image/*' href='https://www.google.com/m8/feeds/photos/media/7ff84d8009d9a0b/1B2M2Y8AsgTpgAm7PhCfg'/>
<link rel='self' type='application/atom+xml' href='https://www.google.com/m8/feeds/contacts/full/7ff84d8009d9a0b'/>
<link rel='edit' type='application/atom+xml' href='https://www.google.com/m8/feeds/contacts/full/7ff84d8009d9a0b/127099002381000'/>
<gd:email rel='http://schemas.google.com/g/2005#other' address='email@email.com' primary='true'/>
</entry>

这是我的 JavaScript 代码:

$("#importData").append("<ul>");
xmlDoc = $.parseXML(data);
$xml = $(xmlDoc);
$xml.find('entry').each(function () {
var name = $(this).find("title").text();
var email = $(this).find('[nodeName="gd:email"]').attr('address');
$("#importData").append("<li>" + name + " - " + email + "</li>");
});
//$(this).text() + " - " + $xml.find("gd:email[address]").index(i)
$("#importData").append("</ul>");

这是一个试图(未成功)解析 XML 的 jsfiddle:http://jsfiddle.net/DVXB9/4/

这是另一个成功解析 XML 的 jsfiddle,其中 gd:email 替换为 gdemail(无冒号):http://jsfiddle.net/DVXB9/5/

我尝试了多种方法来解析带有命名空间的 XML,包括 [nodeName=gd:email][nodeName="gd:email"]gd\\:email 所有建议由this计算器问题。 但是,它们都没有成功。

我不知道下一步应该如何处理。其他与我的 XML 结构相似的人声称上述方法可以正常工作。但是,我得到的最好结果是“未定义”的输出值。我做错了什么?

最佳答案

此处更新Fiddle

为了让您的示例正常工作,我必须添加命名空间声明 <entry xmlns:gd='http://www.some-url.org'>否则$.parseXML抛出异常......之后你可以使用$('gd\\:email, email',$xml)访问电子邮件节点。

关于javascript - jquery 获取 xml 属性值,转义\\不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25044334/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com