2
當我打電話給UpdateXML()
時,我發現空節點正在轉換爲速記XML。有沒有辦法阻止UpdateXML()
以這種方式運行,也許是一個標誌或設置或替代XPath表達式來告訴它保留原始結構?Oracle UpdateXML()更改XML結構?
/* Example 1 */
SELECT UpdateXML(xmlData, '/TEST/VALUE/text()', 'hello') as "Example 1"
FROM (SELECT XMLType('<TEST><VALUE>hi</VALUE></TEST>') as xmlData
FROM DUAL);
Example 1
---------
<TEST><VALUE>hello</VALUE></TEST>
/* Example 2 */
SELECT UpdateXML(xmlData, '/TEST/VALUE/text()', 'hello') as "Example 2"
FROM (SELECT XMLType('<TEST><VALUE></VALUE></TEST>') as xmlData
FROM DUAL);
Example 2
---------
<TEST><VALUE/></TEST>
我想看到什麼:
/* Desired Output, vs. Example 2 */
SELECT UpdateXML(xmlData, '/TEST/VALUE/text()', 'hello') as "Desired Output"
FROM (SELECT XMLType('<TEST><VALUE></VALUE></TEST>') as xmlData
FROM DUAL);
Desired Output
--------------
<TEST><VALUE></VALUE></TEST>
有趣的方法,燁它的作品! – wweicker