SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Windows PowerShell 活用編

Windows PowerShell 活用編(9)
XPathNavigatorクラスの活用1

ダウンロード population.zip (484.0 B)

比較演算子を用いた選択

 ここからは比較演算子を指定して条件に合致するデータの選択方法について学びます。比較演算子には下記のようなものがあります。

比較演算子の種類
演算子 意味
= 等しい
!= 等しくない
> より大きい
>= 以上
< より小さい
<= 以下

特定の値を持つ要素の取り出し

 サンプルデータの中から値が「岩手県」となっている要素を取得する場合には、=演算子を使用してXPath式に

/population_data/prefecture[name='岩手県']

と指定します。

 これは population_data要素の prefecture要素の name要素の値が「岩手県」となっているものを取り出します。

 下記は要素の値が岩手県のpopulationのデータを表示します。

$nodes =  $navi.Select("/population_data/prefecture[name='岩手県']/population")
While ( $nodes.MoveNext() )
{
  $nodes.Current.Value
}

人口が300万人以上の県名を表示する

 >=演算子を用いて人口が300万人以上の県名を表示させるにはXPath式を

/population_data/prefecture/name[../population>=3000000]

とします。

 [../population>=3000000] ですが、../ は同階層を意味しており、"../population"とすることで name要素と同階層のpopulation要素を意味します。ゆえに人口が300万人以上の要素を取得するという意味になります。

$nodes =  $navi.Select("/population_data/prefecture/name[../population>=3000000]")
while ( $nodes.MoveNext() )
{
  $nodes.Current.Value
}

次のページ
論理演算子を用いた選択

この記事は参考になりましたか?

Windows PowerShell 活用編連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3760 2009/04/10 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー