【发布时间】:2019-06-17 11:10:17
【问题描述】:
我处理包含在 Oracle 11g 表中的序列化内容。我需要修改我的 XML 内容中的属性值。所以,我使用 XPath 来访问标签...我可以更改标签的值,但我不能修改属性值。
我的文件大致是这样设计的:
<ItemsParams>
<Cores>
<Inral z:Type="someTexte1">
<FinalTags>Value1</FinalTags>
</Inral>
<Cores>
<ItemsParams>
当我需要更改 FinalTags 值时,我会在查询中使用此 XPath:
XPath = *[name()="ItemsParam"]/*[name()="Testing"]/*[name()="Topics"]/*[name()="Parameter"]/*[name()="Texts"]/*[name()="Cores"]/*[name()="Inral"]/*[name()=''Value'']/text()
它有效。
但是当我需要更改属性"z:Type" 的值时,我使用:
XPath = *[name()="ItemsParam"]/*[name()="Testing"]/*[name()="Topics"]/*[name()="Parameter"]/*[name()="Texts"]/*[name()="Cores"]/*[name()="Inral"]/@z:Type
而且不可能访问它..经过多次测试,我认为Oracle无法忍受需要访问属性的“@”..
【问题讨论】:
标签: sql xml oracle xpath xml-serialization