XPath の文字列比較で、小文字と大文字を区別しない方法
2010/01/29 ★ ★
.NET の XML DOM を使って、XPath の文字列比較によって、大文字、小文字を区別することなく、ノードをセレクトする方法を紹介する。
一般的な言語系であれば、文字列比較関数で、大文字、小文字を区別することなく、文字列を一致させるオプションが用意されていることは普通だ。しかし、XPath では、そのような関数のオプションは用意されていないようだ。
translate() 関数を応用することによって実現する。
まず、translate() 関数によって、検索対象ノード値文字列を小文字に変換する。
これは、string クラスの ToLowerString() メソッドに相当する。
translate(@targetAttribute, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')
あとは、通常の文字列比較によって、式を記述する。
以下は、object ノードより、deleted 属性が、false のノードのみを取得するサンプルコード。deleted 属性文字列は、大文字、小文字...
続きを読む
最新の記事
- Azure Web アプリ で、Apache 仮想ホストのようなサブドメインの定義
- Windows 10 アップグレード後に、古いファイルを削除する
- iPod touch を修理にだす
- openSUSE 11.3 インストール
- Ubuntu 10.10 で、WLI-CB-AMG300N を利用する
- Ubuntu で、日本語入力を可能にする
- ThinkPad X30 に Ubuntu 10.10 をインストールする
- iPhone で PDF を読む
- Windows 2008 で、MD5 SHA ファイルチェックサムを求める
- Ubuntu 10.10 で、無線 LAN アダプター WLI-CB-G54 を利用する
人気の記事
- Windows のライセンス認証で、エラーコード 0x80072EE2 が発生
- IIS ASP.NET バージョンの変更と混在
- IIS 7 で、特定の拡張子のファイルへのアクセスを制限する
- HTML で円マークがバックスラッシュと表示されてしまう
- Hyper-V でルーターを構成する
- Azure Web アプリ で、Apache 仮想ホストのようなサブドメインの定義
- Apache リバースプロキシで文字化けする
- IIS ASP.NET 複数バージョン混在時のエラー
- aspx ファイルでネームスペースのエイリアスを宣言する
- XPath の文字列比較で、小文字と大文字を区別しない方法
過去の記事
- 2016年08月(2)
- 2011年08月(1)
- 2011年02月(9)
- 2011年01月(16)
- 2010年12月(13)
- 2010年11月(8)
- 2010年10月(3)
- 2010年09月(3)
- 2010年08月(16)
- 2010年07月(25)
- 2010年06月(4)
- 2010年05月(10)
- 2010年04月(29)
- 2010年03月(27)
- 2010年02月(3)
- 2010年01月(3)
- 2009年11月(6)
- 2009年10月(7)
- 2009年09月(1)
- 2009年08月(1)
- 2009年07月(2)
- 2009年01月(2)
- 2008年12月(3)
- 2008年11月(2)
- 2008年10月(5)