HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


C# 2005の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > C# 2005 Tips > XML Tips メニュー> XPath Tips メニュー

05.検索式で合計値を求める

UPDATE:2006/07/31 

<< 前のTips  次のTips >>

 


 検索式で合計値を求めるにはナビゲータのEvaluateメソッドを使用します。サンプルではEvaluateの引数にsum(//personal_data/age/text())を指定して、年齢(age)の合計値を求めています。

 
サンプル1
//XPathドキュメントを作成
System.Xml.XPath.XPathDocument xmlDoc = 
    new System.Xml.XPath.XPathDocument(@"C:\Work\Test.xml");

//ナビゲータを作成
System.Xml.XPath.XPathNavigator xNavi = xmlDoc.CreateNavigator();

//トータル年齢を計算してintSumに格納
int intTotal = int.Parse(xNavi.Evaluate("sum(//personal_data/age/text())").ToString());

//結果を表示する
Console.WriteLine("トータル年齢は" + intTotal + "歳です");


 
サンプル2
//サンプル1で使用するXML
<?xml version="1.0" encoding="utf-8"?>
<address_list>
  <personal_data id="ID12345">
    <zip>123-4567</zip>
    <address>東京都内</address>
    <name>HIRO</name>
    <age>34</age>
  </personal_data>
  <personal_data id="ID00234">
    <zip>765-4321</zip>
    <address>アメリカ</address>
    <name>VB太郎</name>
    <age>28</age>
  </personal_data>
  <personal_data id="ID32401">
    <zip>000-1111</zip>
    <address>東京都内</address>
    <name>C#花子</name>
    <age>40</age>
  </personal_data>
</address_list>
 

<< 前のTips  次のTips >>