C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: C#によるXML読込み


(過去ログ 44 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■23343 / inTopicNo.1)  C#によるXML読込み
  
□投稿者/ Bianchi (1回)-(2008/08/12(Tue) 23:12:51)

分類:[C#] 

XMLファイルは、以下の通りです。
-------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.1" creator="Sport" xmlns="http://www.topografix.com/GPX/1/1">
<metadata />
<trk>
<name />
<cmt />
<trkseg>
<trkpt lat="34.7956047058106" lon="135.344589233398">
<ele>89.059326171875</ele>
<time>2008-08-11T22:16:00Z</time>
</trkpt>
<trkpt lat="34.7956161499023" lon="135.344573974609">
<ele>93.3851318359375</ele>
<time>2008-08-11T22:16:05Z</time>
</trkpt>
----------------------------
これを、C#で読込み、ArrayListに lat,lon,ele,timeの情報を格納したいと考えてます。
本を見て、試してはみたものの 複数の要素がありますと表示され(確かにあるのですが)
どのように対処すれば良いのか分かりませんでした。
お分かりになる方がいれば、おしえてください。

現在C#2008Expressを使っております。



引用返信 編集キー/
■23344 / inTopicNo.2)  Re[1]: C#によるXML読込み
□投稿者/ れい (730回)-(2008/08/12(Tue) 23:15:36)
No23343 (Bianchi さん) に返信
> XMLファイルは、以下の通りです。
> -------------------------------------------------------------------------------
> <?xml version="1.0" encoding="utf-8"?>
> <gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.1" creator="Sport" xmlns="http://www.topografix.com/GPX/1/1">
> <metadata />
> <trk>
> <name />
> <cmt />
> <trkseg>
> <trkpt lat="34.7956047058106" lon="135.344589233398">
> <ele>89.059326171875</ele>
> <time>2008-08-11T22:16:00Z</time>
> </trkpt>
> <trkpt lat="34.7956161499023" lon="135.344573974609">
> <ele>93.3851318359375</ele>
> <time>2008-08-11T22:16:05Z</time>
> </trkpt>
> ----------------------------
> これを、C#で読込み、ArrayListに lat,lon,ele,timeの情報を格納したいと考えてます。
> 本を見て、試してはみたものの 複数の要素がありますと表示され(確かにあるのですが)
> どのように対処すれば良いのか分かりませんでした。
> お分かりになる方がいれば、おしえてください。

どのように格納したいのか良く分かりません。
一つのArrayListに
34.7956047058106
135.344589233398
89.059326171875
2008-08-11T22:16:00Z
34.7956161499023
135.344573974609
93.3851318359375
2008-08-11T22:16:05Z
と入れたいのですか?

それとも4つのArrayListに
lat,lon,ele,timeをそれぞれ別々に入れたいのですか?

XMLにエラーがあったときにはどうしますか?
引用返信 編集キー/
■23349 / inTopicNo.3)  Re[1]: C#によるXML読込み
□投稿者/ 魔界の仮面弁士 (810回)-(2008/08/13(Wed) 00:10:31)
No23343 (Bianchi さん) に返信
> XMLファイルは、以下の通りです。
タグが閉じられていませんが、その後に
  </trkseg>
 </trk>
</gpx>
のように続くと考えておけばよいのでしょうか。


> これを、C#で読込み、ArrayListに lat,lon,ele,timeの情報を格納したいと考えてます。
これで良いのかな。

ArrayList list = new ArrayList();
XmlDocument doc = new XmlDocument();
doc.PreserveWhitespace = false;
doc.Load(@"C:\sample.xml");
string nodeTest = "[name()='lat' or name()='lon' or name()='ele' or name()='time']";
foreach (XmlNode node in doc.SelectNodes("//*" + nodeTest + "/text()|//@*" + nodeTest))
{
    list.Add(node.Value);
}

----------------------
"34.7956047058106"
"135.344589233398"
"89.059326171875"
"2008-08-11T22:16:00Z"
"34.7956161499023"
"135.344573974609"
"93.3851318359375"
"2008-08-11T22:16:05Z"

引用返信 編集キー/
■23563 / inTopicNo.4)  Re[2]: C#によるXML読込み
□投稿者/ Bianchi (3回)-(2008/08/18(Mon) 17:20:00)
2008/08/18(Mon) 17:54:00 編集(投稿者)

魔界の仮面弁士さんのコードを参考に作成してみました。
そしたら、うまく動きました。有難うございます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -