【问题标题】:xPath parameter in `getNodesAsync` is not working as expected`getNodesAsync` 中的 xPath 参数未按预期工作
【发布时间】:2020-07-09 07:38:43
【问题描述】:

getNodesAsync 有一个名为xPath 的参数,我认为它可以帮助我查询我的自定义 XML。我认为它出现故障,因为它仅在我传递* 时返回节点。任何其他路径(即使它存在),返回一个空数组。

复制步骤

  1. 点击Run添加xml
<AP xmlns="accordproject.org">
  <template xmlns="acceptance-of-delivery">
    <shipper>Aman Sharma</shipper>
  </template> 
</AP>
  1. Get node 应该在 /AP/template 处获取节点。
  2. Delete XML 将删除 customXML。

ScriptLab sn-p 链接:https://gist.github.com/algomaster99/fc10bc8fcf3429f1d3ad1fbadaa3216f

【问题讨论】:

    标签: office-js word-addins


    【解决方案1】:

    我想我已经找到了它的工作原理。似乎对于使用通用 Office JavaScript API 创建的自定义 XML 部件(不同于在特定于 Word 的 JavaScript API 中创建的自定义 XML 部件),Office 按顺序为命名空间分配默认别名:ns0、@987654322 @ 等。您必须在 xpath 变量中使用这些。因此,按照您的要点,如果您将调用的第一个参数更改为 getNodesAsync"/ns0:AP/ns1:template",它会起作用。

    【讨论】:

    • 这也适用于我。谢谢!我想在答案中添加一件事。每个 XML 节点都必须有一个唯一的命名空间 (xmlns),getNodesAsync 才能工作。
    猜你喜欢
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 2018-10-19
    • 2016-07-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    相关资源
    最近更新 更多