我有一个Word文档,其中有一个内容控件XML。
这是来自document.xml
的内容控件的代码:
<w:sdt>
<w:sdtPr>
<w:alias w:val="contentcontrol1"/>
<w:tag w:val=""/>
<w:id w:val="-1926948802"/>
<w:showingPlcHdr/>
<w:dataBinding w:xpath="/Root[1]/Node[1]" w:storeItemID="{C2F77B86-6131-4922-803B-54FACB654C16}" />
<w15:appearance w15:val="tags"/>
<w:text/>
</w:sdtPr>
<w:sdtContent>
<w:p w14:paraId="04EB220B" w14:textId="0D23CD24" w:rsidR="009A2940" w:rsidRDefault="00C15D80"/>
</w:sdtContent>
</w:sdt>
这是自定义Xml部件的代码(来自CustomXml/Items3.xml
:]
<?xml version="1.0" encoding="utf-8"?>
<Root xmlns="">
<Node>VALUE1</Node>
</Root>
并且数据绑定运行良好:当我打开Word文档时,内容控件显示值VALUE1。
但是,如果我将名称空间添加到Custom Xml,它将不再起作用。
<?xml version="1.0" encoding="utf-8"?>
<Root xmlns="http://example">
<Node>VALUE1</Node>
</Root>
我试图像这样更改dataBinding:
<w:dataBinding w:xpath="//ns0:Root[1]/Node[1]" w:storeItemID="{C2F77B86-6131-4922-803B-54FACB654C16}" w:prefixMappings="xmlns:ns0='http://example'" />
<w:dataBinding w:xpath="http://example:Root[1]/Node[1]" w:storeItemID="{C2F77B86-6131-4922-803B-54FACB654C16}" />
<w:dataBinding w:xpath="[namespace-uri()='http://example']/Node[1]" w:storeItemID="{C2F77B86-6131-4922-803B-54FACB654C16}" />
但是仍未检索到值VALUE1。
如何使dataBinding与名称空间一起使用?
w:sdt
元素绑定到具有XML命名空间(例如“ http://example.com”)的自定义XML元素。 )放在w:prefixMappings
元素的w:xpath
和w:dataBinding
属性中。不过,您的自定义XML元素不需要名称空间前缀。因此,以下两个XML文档都将起作用: