2017-01-31 170 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} 

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