- PR -

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

投稿者投稿内容
cofe
会議室デビュー日: 2005/02/13
投稿数: 13
投稿日時: 2005-02-13 02:09
現在、C#で開発を行っております。
そこで質問があります。

SelectSingleNodeメソッドについての質問です。
SelectSingleNodeメソッドを使い、下記の"日"と合致する
ノードを探したいと思います。

VB.NETでは、
[日 = '" & 変数 & '"]
のように記述するようですが、この部分をC#ではどのように
記述するのでしょうか。

よろしくお願いします。
cofe
会議室デビュー日: 2005/02/13
投稿数: 13
投稿日時: 2005-02-13 02:13
申し訳ございません。

[日 = '" & 変数 & '"]
この中のシングルクォートとダブルクォートの記述を
間違えました。

正しくは
[日 = '" & 変数 & "']

よろしくお願いします。

中博俊
ベテラン
会議室デビュー日: 2004/10/17
投稿数: 91
お住まい・勤務地: 大阪市
投稿日時: 2005-02-13 10:19
"[日 = '" + 変数 + "']"
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2005-02-13 10:36
せめてコードの1行分くらいは書かないとどこの部分をさしてるのか
よくわからないですが、&を+に変えるとかそういうことですかね。

MSDNを見る
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/csref/html/vclrfplusoperator.asp

あ、かぶりました・・

[ メッセージ編集済み 編集者: べる 編集日時 2005-02-13 10:36 ]
cofe
会議室デビュー日: 2005/02/13
投稿数: 13
投稿日時: 2005-02-13 10:47
中さん、べるさんありがとうございます。

投稿方法に慣れてなくて分かりづらい記述に
なってしまいました。

試してみます。
cofe
会議室デビュー日: 2005/02/13
投稿数: 13
投稿日時: 2005-02-14 00:43
引用:

中 博俊さんの書き込み (2005-02-13 10:19) より:
"[日 = '" + 変数 + "']"


試しましたが、まだ値を取れません。

もう少し詳しく説明します。
XMLデータとして、
<書籍一覧>
    <書籍情報>
       <出版日>2005/02/10</出版日>
       <タイトル>教えてXML</タイトル>
       <著者>ごえもん</著者>
       <価格>2,000</価格>
    </書籍情報>
    <書籍情報>
       ・
       ・
       ・
</書籍一覧>
のようにXMLデータがあるとします。

そこで、指定した出版日の<タイトル>を取得したい場合のコードとして、
VB.NETでは次のように記述します。

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

このコードをC#ではどのように記述するのでしょうか。
ちなみに、私はC#で下記のように記述しています。(タイトルがとれません。)

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

よろしくお願いします。


[ メッセージ編集済み 編集者: ごえもん 編集日時 2005-02-14 00:44 ]

[ メッセージ編集済み 編集者: ごえもん 編集日時 2005-02-14 00:45 ]

[ メッセージ編集済み 編集者: ごえもん 編集日時 2005-02-14 00:46 ]
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-02-14 01:55
> まだ値を取れません。
とはどのコードでどういう見方をしたときですか?
そのコードが提示されればわかるかも。

XmlNode.SelectSingleNode メソッドのサンプルは参考になりませんか。

.NET Framework クラス ライブラリ
XmlNode.SelectSingleNode メソッドhttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemxmlxmlnodeclassselectsinglenodetopic.asp

_________________
たつごろー
codeseek
こみゅぷらす
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2005-02-14 02:02
何を見て、このコードで実現できると判断したのかわからないですが、
もう少し切り分けができますよね。
VB.netではそのコードでタイトルが取れているのですか?
変数ではなく直接値を書いた場合は正常に値が取れるのですか?
(つまり「書籍一覧/書籍情報[日 = '2005/02/10']/タイトル」などとした場合)

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

>タイトルがとれません。
ではどうなるのですか?コンパイルエラー?xmlNodeにnullが入る?xmlNodeに
予期しない値が入る?

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

まさか本当にこう書いてます?つまり改行をアンダーバーでつないでますか?
C#ではおそらくこうは書かないと思います。

私もXPathをそこまで理解してるわけではないですが「書籍一覧」の前にも「/」が
必要なのではないですか?(変数うんぬんは関係ないし、VB.netでも「/」は必要だと
思いますが・・)

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