用于选择XML节点的jQuery语法

时间:2013-02-28 06:43:35

标签: jquery dynamics-crm-2011

我们目前正准备使用UR 12升级CRM 2011,并且升级后可能会破坏一些javascript。

XML相关功能是一些突出显示为潜在代码的功能。 所以我想用JQuery等效替换这些函数,但是对jQuery没什么了解

假设'result'是来自xmlhttprequest的XML响应,我们如何将以下代码转换为使用jquery

result.selectNodes("//EntityMetadata/DisplayName/LocLabels/LocLabel/Label");

会像

$(result).find(("//EntityMetadata/DisplayName/LocLabels/LocLabel/Label");

2 个答案:

答案 0 :(得分:0)

看来jQuery once had rudimentary XPath support。但是,这似乎不再是这种情况了。您可能会发现Cross-browser XPath implementation in JavaScript很有趣。

此外,没有要求 XMLHttpRequest的结果是XML。它可以是文本,JSON,二进制数据等。

答案 1 :(得分:0)

尽管这不会引起关于jQuery的问题,但它显示了CRM SDK中描述的方式。

看看JavaScript Best Practices article。本文链接到显示的a sample where a compatible implementation of selectNode

function _selectNodes(node, XPathExpression) {
  if (typeof (node.selectNodes) != "undefined") {
   return node.selectNodes(XPathExpression);
  }
  else {
   var output = [];
   var XPathResults = node.evaluate(XPathExpression, node, _NSResolver, XPathResult.ANY_TYPE, null);
   var result = XPathResults.iterateNext();
   while (result) {
    output.push(result);
    result = XPathResults.iterateNext();
   }
   return output;
  }
 };