2

我们目前正在准备使用 UR 12 升级 CRM 2011,升级后有一些 javascript 可能会中断。

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

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

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

会像

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

2 回答 2

0

似乎 jQuery曾经有过基本的 XPath 支持。然而,这似乎不再是这样了。您可能会发现JavaScript 中的跨浏览器 XPath 实现很有趣。

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

于 2013-02-28T06:50:55.810 回答
0

尽管这没有考虑到您关于 jQuery 的问题,但它显示了 CRM SDK 中描述的一种方式。

查看JavaScript 最佳实践文章。本文链接到一个示例,其中显示了 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;
  }
 };
于 2013-02-28T13:03:04.457 回答