gpt4 book ai didi

xml - 基于属性的XPath节点元素索引

转载 作者:行者123 更新时间:2023-12-01 16:28:51 25 4
gpt4 key购买 nike

我正在尝试构建一个 Infopath 表单,该表单使用从 Sharepoint 列表返回的数据填充字段。我设置了一个下拉列表框,其值从 Sharepoint 数据源填充。那部分工作正常。现在,我希望一旦用户从列表中选择一项,其他字符串字段就会自动填充。
所以我制定了一个规则来做到这一点。我编写了一个 XPath 公式来从 Sharepoint 列表中获取属性

xdXDocument:GetDOM("Base Printers")
/dfs:myFields/dfs:dataFields/dfs:Base_Printers/@PNP_String

问题在于,这总是从列表中的第一项获取属性 (PNP_String)。我想根据用户的选择使用正确的打印机(Base_Printers)填充它。所以我必须索引到 Base_Printers,然后选择 PNP_String。所以我尝试了这个

.../dfs:Base_Printers[2]/@PNP_String

它将索引到第二项并返回该 PNP 字符串,这非常棒!
但我需要索引到用户选择的元素,所以我尝试了以下方法:

.../dfs:Base_Printers[@Printer=my:basePrinter]/@PNP_String

其中@Printer是共享点列表中的属性,my:basePrinter是下拉列表的本地infopath变量。这对我没有任何帮助。当我尝试文字值时:

.../dfs:Base_Printers[@Printer='XYZ']/@PNP_String

它选择了正确的 pnp 字符串。
所以我的问题是,如何根据用户的选择对该打印机数组进行索引?

谢谢

最佳答案

我想我已经明白了。

xdXDocument:GetDOM("Base Printers")/dfs:myFields/dfs:dataFields
/dfs:Base_Printers[@Printer = current()]/@PNP_String

出于某种奇怪的原因,当您使用以下内容时它会起作用:

@Printer = current()

但当你使用:

@Printer = my:basePrinter

即使 current() 和 my:basePrinter 返回相同的字符串。

奇怪...

关于xml - 基于属性的XPath节点元素索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/565590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com