2010-11-22 2 views
0

は次のとおりです。EXTRACTVALUE()をmysqlで使用してxmlfragを取得する方法? MySQLのDB内のXMLが好き与え

set @xml = '<lrb id="370" deleted="0"> 
<lrb id="371" deleted="0"><add/></lrb> 
<lrb id="372" deleted="0"><add/></lrb> 
<add/></lrb>' 

は私がSQLを使用します。SELECT EXTRACTVALUE(@xml,'//lrb[@id=370]')

を、私はこの返したい: <lrb id="371" deleted="0"><add/></lrb> <lrb id="372" deleted="0"><add/></lrb>

をしかし、結果は唯一のいくつかの空白を返します。

私はこのハードワークにあなたの助けが必要です。

ありがとうございました。

+0

を返しますはい、mysql5.1 +が動作してXML-- EXTRACTVALUEとUPDATEXMLの二つの新しいfuntionsがあります。 ) – Simon

答えて

2

EXTRACTVALUEは()戻りのみCDATAと一致するタグ内に含まれるかもしれない任意のタグを返さない、また彼らのコンテンツのいずれか(結果は次の例のVAL1として返さ参照します)。あなたが何かのようにそれを交換した場合details

set @xml = 
'<lrb id="370" deleted="0">THIS WILL RETURN 
    <lrb id="371" deleted="0">bbb<add/></lrb> 
    <lrb id="372" deleted="0">ccc<add/></lrb> 
    <add/> 
</lrb>'; 

SELECT TRIM(EXTRACTVALUE(@xml,'//lrb[@id=370]')); 

リターンこれは

+0

これは不可能です:(そして、あなたの助けに感謝します。 – Simon

関連する問題