Javascript AJAX中的XPath和通配符
你知道为什么OBJProperty,一个带有通配符的xpath,在。。。 。。。xml的长度为零:Javascript AJAX中的XPath和通配符,javascript,ajax,xml,xpath,wildcard,Javascript,Ajax,Xml,Xpath,Wildcard,你知道为什么OBJProperty,一个带有通配符的xpath,在。。。 。。。xml的长度为零: 30 -1 在单个节点上查找返回正确的结果jQuery并不是设计用来使用XPath作为选择器的 一旦将xml包装到jQuery对象中,就可以像对待html标记一样考虑标记,并使用完全相同的jQuery选择器和方法 假设您有多个请尝试: var $records = $(xml).find("Record");/* create collection of all Record tags *
30
-1
在单个节点上查找返回正确的结果jQuery并不是设计用来使用XPath作为选择器的 一旦将xml包装到jQuery对象中,就可以像对待html标记一样考虑标记,并使用完全相同的jQuery选择器和方法 假设您有多个
请尝试:
var $records = $(xml).find("Record");/* create collection of all Record tags */
$records.each(function(){
var $children=$(this).children();
/* or to access specific elements*/
var mailFreq= $(this).find('MailFrequency').text();
})
看这条线
var objProperties = $(xml).find("Data\\Record\\*");
我假设您的XPath表达式是“Data\\Record\\*”
。我不知道有哪个XPath引擎接受\
作为分隔符。您通常会使用/
:“数据/记录/*”
除此之外,您还可以使用jQuery选择器实现相同的功能,它是CSS3选择器的超级集合。请记住,根节点是数据
和$。查找
仅适用于子节点:
var objProperties = $(xml).find("Record > *");
这不是每个记录中元素的正确对象。如果需要,您需要进行一些调整。success:function(xml){…var$records=$(xml).find(“记录”);If(($records).size()>1)..$records.each(function(){var$children=$(this).children();$children.each(function(){var key=$(this.prop(“标记名”);var value=$(this.text();object[key]=value;});}),是的!我不知道如何设置评论的格式,虽然我似乎是在遵守规则(这是我第一次发帖)。我两次都试过了。没有人做这项工作,但我在/然后我看到jqWidgets使用\将更好地学习jQuery,这是我的早期。它是一个后代,我只是没有复制整个文件,抱歉。答案对你有帮助吗?如果没有,你自己解决了吗?如果是,请接受。
var objProperties = $(xml).find("Data\\Record\\*");
var objProperties = $(xml).find("Record > *");