1
我有一個這樣的XML文檔,我必須通過新文本更新The time of begin
的值。如何使用UPDATEXML函數執行此操作,即什麼是XPath表達式?使用UPDATEXML在Oracle中更新XML
<dok>
<dataSet>
<foo>bla bla</foo>
<field>START_DATE</field>
<label>The time of begin</label>
</dataSet>
<dataSet>
<bar>bla bla</bar>
<label>The time of end</label>
<field>END_DATE</field>
</dataSet>
</dok>
我的第一個想法是像這樣的:
UPDATE MY_TABLE SET
XML_COLUMN = UPDATEXML(XML_COLUMN, '/dok/dataSet/field/text()="START_DATE"/../label/text()', 'The date of start');
我不喜歡用軸像following-sibling
,因爲裏面dataSet
你可能在未知的順序的其他各種要素。
規則必要像:Update "label" at "dataSet" where "field" = 'START_DATE'
你是對的,這是一個錯字。我糾正我的問題的一致性。是的,WHERE子句缺失,但這不是這裏的問題。 – 2014-08-30 11:11:08