- PR -

C#での書き方を教えてください。

投稿者投稿内容
cofe
会議室デビュー日: 2005/02/13
投稿数: 13
投稿日時: 2005-02-15 00:13
たつごろーさん、べるさんご返答ありがとうございます。
.NET Frameworkクラスライブラリも調べてみたのですが
分からなかったため、投稿させてもらった次第です。

引用:

変数ではなく直接値を書いた場合は正常に値が取れるのですか?
(つまり「書籍一覧/書籍情報[日 = '2005/02/10']/タイトル」などとした場合)

(あまり重要じゃないかもしれませんが)そもそも「日付変数」の型は何ですか?



直接値(日付)を入れた場合も値は取れません。
ちなみに日付変数はstring型です。

引用:

ではどうなるのですか?コンパイルエラー?xmlNodeにnullが入る?xmlNodeに
予期しない値が入る?




xmlNodeには、<未定義の値>と表示されます。
XPath式が正しくないのだと思います。

べるさんのご指摘のアンダーバーですが、実際のコードには書いていません。
見やすくするために書いたつもりでしたが、逆に混乱を招いてしまいました。
すみません。

もう少し調べてみます。


たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-02-15 04:22
引用:

xmlNodeには、<未定義の値>と表示されます。
XPath式が正しくないのだと思います。


実際に正しく動作しないコードとデータを、最小限の範囲にして開示できませんか?
動作するというVB.NETと、動作しないというC#の両方があればもっといい。

_________________
たつごろー
codeseek
こみゅぷらす
Kazuki
ぬし
会議室デビュー日: 2004/10/13
投稿数: 298
投稿日時: 2005-02-15 12:10
XMLファイルをちゃんとXmlDocumentに読み込めてますか?
データの読み込みからSelectSingleNodeでの値の取得を行う一連のコードを書いてもらうとうれしいかも。
cofe
会議室デビュー日: 2005/02/13
投稿数: 13
投稿日時: 2005-02-19 00:06
返答遅くなり申し訳ありません。

いろいろ試してみて、ようやく値の取得ができました。

XmlNode xmlNode = xmlDocument.SelectSingleNode(
"書籍一覧/書籍情報[出版日 = '" + 日付変数 + "']/タイトル");

前投稿で明記もしましたが、上記XPath式は問題ありませんでした。
では、どこに問題があったのかといいますと・・・

string 日付変数 = Calendar1.SelectedDate.ToShortDateString();
このように"日付変数"に日付を取得していたため、"日付変数"には
「2005/02/18」のように日付が取得されます。
しかし、XMLデータの日付には「2005/02/18 0:00:00」と時間も
加えられていました。

結局は"日付変数"とXMLデータを比較した時に、合致しなかったため
値が取れないという問題がおきていました。

たつごろーさん、Kazukiさんご返答ありがとうございました。
お陰で解決できました。


スキルアップ/キャリアアップ(JOB@IT)