- PR -

検索したxmlのデータを更新したい。

1
投稿者投稿内容
DT
常連さん
会議室デビュー日: 2003/05/06
投稿数: 31
投稿日時: 2003-08-08 11:41
Windows2000Server + ASP.NETで開発しております。

サンプル集等を元に初めてxmlを扱うWebアプリケーションを見よう見真似で
開発中です。
XPathNodeIteratorクラスを使用して検索したxmlデータを、
ASP.NETのテキストボックスに表示させ、ユーザーが内容を変更して送信後、
元のxmlデータに反映させたいのですが、その方法がわかりません。
(呼び出すxmlデータはユニークな連番を持っているので、必ず1件ずつ
呼び出し→修正…と考えています)
何か参考になる文書、HP等情報お持ちでしたらご教示願います。
因みに、xmlデータを検索して表示する部分のロジックは以下の通りです。

Private Sub Btn_Bws_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Bws.Click

Dim mydoc As XPathDocument = New XPathDocument(filepath & "data\BBS.xml")

Dim navi As XPathNavigator = mydoc.CreateNavigator()

Dim pattern As XPathExpression = navi.Compile("dataroot/BBS[ID = contains(.,'" & _
bobj.StrConv(Txt_ID.Text, 4) & "')]/DATE_TIME")

pattern.AddSort("text()", XmlSortOrder.Descending, XmlCaseOrder.None, "", XmlDataType.Number)

Dim myselectNode As XPathNodeIterator = navi.Select(pattern)

While myselectNode.MoveNext

navi = myselectNode.Current
navi.MoveToFirst()
navi.MoveToNext()

Txt_Subject.Text = navi.Value

navi.MoveToNext()
Txt_Coment.Text = navi.Value

navi.MoveToNext()
navi.MoveToNext()
Lbl_DateTime.Text = navi.Value

navi.MoveToPrevious()
Txt_name.Text = navi.Value

End While

End Sub

宜しくお願い致します。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-08-08 12:21
こんにちは。

 どんなサンプルを見ましたか?参考になる文書、URLを提示しようにも、すでにご覧になっているものとダブる可能性があるのですが?

 で、どこまでできていて、どこがわからないのでしょう?提示されているプログラムで、どこまでできているのでしょう?それとも、「コメントのないソースコードを読んで判断して」と、おっしゃっています?

 読んでみましたが、掲示板プログラムのようですね。XMLデータから読みとって、それをASP.NETのサーバ側コードで表示しようとされていますか?そうであるなら、データの数だけコントロールが必要なのですが、これでは1つのコントロールに何度も書くので、結局最後の投稿だけが表示されているのではないでしょうか。PlaceHolderを使って動的にコントロールを生成するか、Xmlを使って表示させるか…?
yoo
会議室デビュー日: 2003/04/03
投稿数: 12
投稿日時: 2003-08-12 22:37
ちなみにですが、XPathDocumentって読み取り専用ですよね。

元のXMLファイルに書き込むならDOMを実装しているXmlDocumentを使えばいいかとおもいます。
ヘルプでXmlDocumentクラスを調べてたらどうですか?

マルチポストはできるだけ避けたほうが・・・。
1

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