程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle更新xml節點問題的一些細節,oracle更新xml節點

oracle更新xml節點問題的一些細節,oracle更新xml節點

編輯:Oracle教程

oracle更新xml節點問題的一些細節,oracle更新xml節點


有的節點是<emali/> 這樣的,所以直接

update table1 e set e.xxx_xml=updatexml(e.xxx_xml,'/data/contact/email/text()',
'value'
)
where 1=1;

是不能更新的

update table1 e set e.xxx_xml=updatexml(e.xxx_xml,'/data/contact/email',
'<email>'|| 'value' || '<email/>'
)
where 1=1;

這樣就能更新了


oracle中xml節點抽取

把xml數據讀出到內存裡,用msdom對象去解析
 

oracle的PL/SQL中怎根據節點名稱直接獲取xml某個節點的值

用XPath比較簡單點.也可以用xmldom.
xmltype('<?xml version="1.0" encoding="GBK"?>
<SERVICE>
<IDA_SVR_USERBILL>
<CALL_METHOD>queryProcessStepList</CALL_METHOD>
</IDA_SVR_USERBILL>
</SERVICE>').extract('//CALL_METHOD/child::text()').getstringval()
測試:
SELECT xmltype('<?xml version="1.0" encoding="GBK"?>
<SERVICE>
<IDA_SVR_USERBILL>
<CALL_METHOD>queryProcessStepList</CALL_METHOD>
</IDA_SVR_USERBILL>
</SERVICE>').extract('//CALL_METHOD/child::text()').getstringval()
FROM dual;

如果要xmldom
你可以參考我這個報表的寫法:
www.skyz.cn/?p=364
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved