2017-01-31 142 views
1

我正尝试使用INCLUDETEXTxml在Word文档中填充fieldINCLUDETEXT通过XPath选择特定节点

我想抓取基于Xpath查询的特定节点,该查询根据子节点值的值选择节点。

例如,对于下面的XML:

<a:events xmlns:a="http://a.foo.org/"> 
    <a:event> 
    <a:title>Number 1</a:title> 
    <a:status>Draft</a:status> 
    <a:description/> 
    </a:event> 
    <a:event> 
    <a:title>Number 2</a:title> 
    <a:status>Live</a:status> 
    <a:description/> 
    </a:event> 
</a:events> 

XPath查询a:events/a:event[a:status='Live']/a:title应该抓住元件节点<a:title>Number 2</a:title>。我已经证实这个工作。

但是,在Word中,下面的INCLUDETEXT不起作用。

{ INCLUDETEXT "foo.xml" \n xmlns:a=\"https://a.foo.org\" \x a:events/a:event[a:status='Live']/a:title \* MERGEFORMAT} 

没有显示在INCLUDETEXTfield。我可以使用其他基本的XPath查询工作,包括[]选择器,但这不足以满足我的需求。

支持这种类型的XPath?我在网上搜索了一个答案,但是这个功能好像没有被记录下来。

回答

0

只是想我会回答这个情况,以防其他人卡住这个。

把戏最终被放置在引号XPath表达:

{ INCLUDETEXT "foo.xml" \n xmlns:a=\"https://a.foo.org\" \x "a:events/a:event[a:status='Live']/a:title" \* MERGEFORMAT} 

一旦放置在引号中,所有的工作按预期。