2
有一種方法來解析使用XPATH,以獲得期望的輸出PostgreSQL中下面的XML文檔作爲解析XML文檔使用XPATH?
--Corrected爲price
元件所需的輸出
promotion-id price new-promotion null new-promotion null new-promotion 300
。目前,當我運行下面提供的查詢,我得到300
作爲輸出。我的問題是我的查詢忽略其<price xsi:nil="true"/>
結構中的價格因素。
有沒有辦法將null
作爲<price xsi:nil="true"/>
類型結構的價格元素的結果?
我的代碼是這樣的:
WITH x AS (SELECT
'<promotions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<promotion promotion-id="old-promotion">
<enabled-flag>true</enabled-flag>
<searchable-flag>false</searchable-flag>
</promotion>
<promotion promotion-id="new-promotion">
<enabled-flag>false</enabled-flag>
<searchable-flag>false</searchable-flag>
<exclusivity>no</exclusivity>
<price xsi:nil="true"/>
<price xsi:nil="true"/>
<price>300</price>
</promotion>
</promotions>'::xml AS t
)
SELECT unnest(xpath('//price/text()', node))::text
FROM (SELECT unnest(xpath('/promotions/promotion', t)) AS node FROM x) sub
對上述問題的任何建議高度讚賞。
感謝你的消息。建議的解決方案可能會奏效,但所需的輸出需要參考pormotion-id元素。請參閱更新的消息。感謝你的幫助。 –