Ms word “namespaceMappings”在Word.CustomXMLPart API中是什么意思

Ms word “namespaceMappings”在Word.CustomXMLPart API中是什么意思,ms-word,office-js,word-addins,Ms Word,Office Js,Word Addins,我创建了一个小片段,其中基本上: 创建自定义XML: API是namespaceMappings。我认为我传递的是错误的,这就是为什么我将其作为输出(空对象)得到的原因。 但是当我传递*而不是/AP/template时,我得到了整个XML(而第二个参数namespaceMappings保持不变) 我哪里做错了?任何人都可以分享一些片段来帮助我查询customXML。简短的回答是,您可以使用 const nodes = AP.query("/n1:AP/n2:template"

我创建了一个小片段,其中基本上:

  • 创建自定义XML:
  • API是
    namespaceMappings
    。我认为我传递的是错误的,这就是为什么我将其作为输出(空对象)得到的原因。

    但是当我传递
    *
    而不是
    /AP/template
    时,我得到了整个XML(而第二个参数
    namespaceMappings
    保持不变)


    我哪里做错了?任何人都可以分享一些片段来帮助我查询customXML。

    简短的回答是,您可以使用

    const nodes = AP.query("/n1:AP/n2:template", {n1:"accordproject.org", n2:"acceptance-of-delivery"});
    
    我根本不知道JS/TS,但我假设它们基本上是某种类型的键值对。你也可以使用

    const nodes = AP.query("/n1:AP/n2:template", {"n1":"accordproject.org", "n2":"acceptance-of-delivery"});
    
    如果您更愿意将名称空间前缀视为字符串

    (对于任何不熟悉的人来说,“n1”和“n2”只是您发明的前缀,因此您可以引用完整的命名空间URI。它们与您可能在查询的XML片段中使用的任何前缀无关。)


    我也找不到这方面的文档,最初假设您可能需要类似{Prefix:“ns1”,namespaceURI:“namespaceURI”}的东西,但这只是因为这些是VBA模型中使用的属性名称。

    谢谢您的回答!我尝试过这种方法,但现在它给了我
    InvalidArgument
    错误,而且似乎
    CustomXmlPart.query
    抛出了错误。我认为这些参数是另外一回事。哦,不,我只是有多个XML文件。我想这就是问题所在:)
    AP.query(“/n1:AP/n2:template”、{n1:accordproject.org”、n2:acceptionofdelivery})顺便问一下,你能再检查一下这是否也有效吗?我不在笔记本电脑附近,多亏了你们。我将更新文档。问题:下面的方法有效吗<代码>AP.query(“/project.org:AP/acception of delivery:template”,{})@RickKirkham:我检查过了,它不起作用。AFAICR它不应该真正起作用,因为您应该使用前缀,但我确信我们两人都不想涉过XPath规范。为了确保!谢谢@Slitlysnarky。你帮了很多忙。我将更新文档。