我注意到使用VBO你可以调用方法getSingleNode
来获取一个特定的节点对象,是否可以用office js做类似的事情?
此外,我的Word元数据中有一个单选按钮值,我设法访问其customxmlnode
对象,然后我使用setTextsync
方法将其值从true
更改为{{ 1}},但我获得的单选按钮元数据的新值为空。但是,可以正确编辑其他文本类型元数据。
有人能提出一些建议吗?
false
答案 0 :(得分:0)
请使用您在xmlPart.getNodesAsync(" / ",函数(nodeResults)方法中发送的XPATH表达式。第一个参数是可用于的XPath表达式得到你需要的单个节点。
答案 1 :(得分:0)
正确的XPATH格式不是一种直观的格式,并且Microsoft API文档提供使用通配符( / )xpath的简单示例也无济于事,例如:
xmlPart.getNodesAsync('*', function (nodeResults)
OfficeJS(或SharePoint)将名称空间别名注入到混合中(即/ ns3:...),因此您处在正确的轨道上,但是要获取“ CGI_Address” SharePoint文档属性,您需要此XPATH语法:
var xpath = "/ns0:properties[1]/documentManagement[1]/ns3:CGI_Address[1]";
xmlPart.getNodesAsync(xpath, ...);
GOTCHA:对Word文档所基于的SharePoint内容类型进行重大架构更改时,它可能突然将名称空间别名从“ ns3”更改为“ ns4”,或者实际上是从“ ns4”更改为“ ns3”就像今天我发生了什么-快点走吧?!?
似乎OfficeJS API没有正确实现XPATH,因为尝试使用/ *:CGI_Address 1通配名称空间别名(以便它可以接受/ ns3或/ ns4等)是不起作用的。 SO参考(关于它为什么起作用)-how to ignore namespaces with XPath