我表名EC_Model xml字段名是ec_model_xml
xml格式大概是这样的
<root>
<Item Name='c1'>生产者</Item>
</root>
我现在想改变“生产者”这个值
我用 update EC_Model set ec_model_xml.modify('replace value of (root/Item)[1] with ''生产者1''' )
但提示
“XQuery [EC_Model.EC_Model_XML.modify()]: 'replace value of' 的目标必须是非元数据属性,或者是具有简单类型内容的元素,但找到 'element(Item,xdt:untyped) ?'” 这个错误 在线急等 解决方法
xml格式大概是这样的
<root>
<Item Name='c1'>生产者</Item>
</root>
我现在想改变“生产者”这个值
我用 update EC_Model set ec_model_xml.modify('replace value of (root/Item)[1] with ''生产者1''' )
但提示
“XQuery [EC_Model.EC_Model_XML.modify()]: 'replace value of' 的目标必须是非元数据属性,或者是具有简单类型内容的元素,但找到 'element(Item,xdt:untyped) ?'” 这个错误 在线急等 解决方法
SET @xml = '<root>
<Item Name="c1">生产者 </Item>
<Item Name="c2">liang</Item>
</root> 'SET @xml.modify('replace value of (/root/Item/text())[1] with "生产者1"')SELECT @xml;/*
<root>
<Item Name="c1">生产者1</Item>
<Item Name="c2">liang</Item>
</root>
*/
SET @xml = '<root>
<Item Name="c1">生产者</Item>
<Item Name="c2">liang</Item>
</root> 'SET @xml.modify('replace value of (/root/Item[@Name="c2"]/text())[1] with "生产者1"')SELECT @xml;/*
<root>
<Item Name="c1">生产者</Item>
<Item Name="c2">生产者1</Item>
</root>
*/