我一直在處理在Oracle XML DB(11克R2)的問題說明如下:XML內容修改
說,在表名爲XMLType列「xml_document」我有以下XML文檔
<?xml encoding="utf-8" ?>
<books>
<book>
<author>AUTHORNAME1</author>
<title>TITLE1</title>
<price>12.33</price>
</book>
<book>
<author>AUTHORNAME2</author>
<title>TITLE2</title>
<price>9.55</price>
</book>
<book>
<author>AUTHORNAME3</author>
<title>TITLE3</title>
<price>15.00</price>
</book>
</books>
現在我想要做的是,隨着「價格> 10」代替所有的書名爲附加的「-expensive」標籤。
' for $book in ora:view("XML_TABLE")//books/book where $book/price > 10 return replace value of node $book/title with concat($book/title/text(),"-expensive") '
因此,在Oracle SQLDeveloper中執行查詢後,生成的XML內容將如下所示。
<?xml encoding="utf-8" ?>
<books>
<book>
<author>AUTHORNAME1</author>
<title>TITLE1-expensive</title>
<price>12.33</price>
</book>
<book>
<author>AUTHORNAME2</author>
<title>TITLE2</title>
<price>9.55</price>
</book>
<book>
<author>AUTHORNAME3</author>
<title>TITLE3-expensive</title>
<price>15.00</price>
</book>
</books>
我已經嘗試與如updateXML(),XMLQUERY()和XMLTABLE()方法做出來,仍然不能向前走一步。
任何幫助將不勝感激。
你的XML片斷無效。你錯過了?在XML聲明的末尾:'<?xml encoding =「utf-8」?>'。你也有多個根元素,也許你想把它們包裝成一個' '? –