Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX中的XPath和通配符_Javascript_Ajax_Xml_Xpath_Wildcard - Fatal编程技术网

Javascript AJAX中的XPath和通配符

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 *

你知道为什么OBJProperty,一个带有通配符的xpath,在。。。

。。。xml的长度为零:


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 > *");