UpdateXML(xml_target, xpath_expr, new_xml)

UpdateXML(xml_target, xpath_expr, new_xml)

この関数は、XML マークアップ xml_target の提示されたフラグメントの単一部を、新しい XML フラグメント new_xml に置き換え、その後チャージされた XML を戻します。置換された xml_target の一部は、ユーザから提供された XPath 式 xpath_expr にマッチします。xpath_expr にマッチする式が検出されない場合、または複数のマッチが見つかった場合、この関数は独自の xml_target XML フラグメントを戻します。3 つすべての引数はストリングでなければなりません

mysql> SELECT
    ->   UpdateXML('<a><b>ccc</b><d></d></a>', '/a', '<e>fff</e>') AS val1,
    ->   UpdateXML('<a><b>ccc</b><d></d></a>', '/b', '<e>fff</e>') AS val2,
    ->   UpdateXML('<a><b>ccc</b><d></d></a>', '//b', '<e>fff</e>') AS val3,
    ->   UpdateXML('<a><b>ccc</b><d></d></a>', '/a/d', '<e>fff</e>') AS val4,
    ->   UpdateXML('<a><d></d><b>ccc</b><d></d></a>', '/a/d', '<e>fff</e>') AS val5
    -> \G

*************************** 1. row ***************************
val1: <e>fff</e>
val2: <a><b>ccc</b><d></d></a>
val3: <a><e>fff</e><d></d></a>
val4: <a><b>ccc</b><e>fff</e></a>
val5: <a><d></d><b>ccc</b><d></d></a>