5

XMLファイルを単一の列「データ」に格納する「xml」というテーブルがあるとします。XPath を実行し、その XPath に一致する行のみを返す MySQL クエリを作成するにはどうすればよいですか?

4

2 に答える 2

9
SELECT * FROM xml
WHERE EXTRACTVALUE(data, '<xpath-expr>') != '';

ただし、MySQL の XPath のサポートには制限があることに注意してください。

  • EXTRACTVALUE()CDATA のみを返します。
  • すべての XPath 構造がサポートされているわけではありません。abatishchevの回答に記載されているドキュメントページの「XPathの制限」という見出しの下の詳細。
于 2008-12-08T17:04:35.470 に答える
0

同僚から回答を得たところです。xml をトリミングすると役立つことが多いようです。

select * from xml where 
   trim(both '\r\n' from ExtractValue(xml, '/some/xpath')) = 'value';
于 2008-12-08T17:21:28.293 に答える