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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.6137 の関連記事表示

<< 0 >>
■6137  Re[1]: ASP.NET VB のWebアプリケーション
□投稿者/ Moo -(2006/08/30(Wed) 10:24:06)
>
記事No.6130 のレス /0過去ログ6より / 関連記事表示
削除チェック/

■6137  DataSetでDataTableの構造ごとのコピー・追加
□投稿者/ はる -(2007/08/02(Thu) 10:09:22)

    分類:[C#] 

    いつもお世話になっています。
    Visual Studio 2005 C#でXMLファイルのエディタを作成しています。
    そこで、DataSetにてXMLファイルを読み込み、データを追加する際に
    構造ごと(DataTableごと)指定した位置に追加したいのですが
    うまくいきません。

    // ソースコード↓↓↓
    DataSet aDtSet = new DataSet();
    StreamReader aReaderv= new StreamReader("sample.xml",System.Text.Encoding.GetEncoding("Shift_Jis"));

    //XMLファイル読み込み
    aDtSet.ReadXml(Reader);

    //テーブルの追加???

    //sample.xmlの構造
    //<ProjectFile>
    // <ProjectInfo>
    // <Type>1</Type>
    // <Version>1.0</Version>
    // </ProjectInfo>
    // <ModelData>
    // <Element>
    // <Name>aaa</Name>
    //  <Value> --------------------- ※このValueを構造も含めコピーし
    //  <Data>1<Data> |  Name以下に複数追加したい
    //  </Value> --------------------
    // </Name>
    // </Element>
    // </ModelData>
    //</ProjectFile>

    DataTableの扱い方が分からずうまくできません。
    ご教授よろしくお願い致します。
親記事 /過去ログ16より / 関連記事表示
削除チェック/

■6139  Re[1]: DataSetでDataTableの構造ごとのコピー・追加
□投稿者/ HIRO -(2007/08/02(Thu) 11:27:28)
>
    No6137 (はる さん) に返信
    > //sample.xmlの構造
    > //<ProjectFile>
    > // <ProjectInfo>
    > // <Type>1</Type>
    > // <Version>1.0</Version>
    > // </ProjectInfo>
    > // <ModelData>
    > // <Element>
    > // <Name>aaa</Name>
    > //  <Value> --------------------- ※このValueを構造も含めコピーし
    > //  <Data>1<Data> |  Name以下に複数追加したい
    > //  </Value> --------------------
    > // </Name>
    > // </Element>
    > // </ModelData>
    > //</ProjectFile>
    >

    DataTabelの扱い方の前に Sample.xmlの構造おかしくないでしょうか?
    > // <Name>aaa</Name>
    > //  <Value> --------------------- ※このValueを構造も含めコピーし
    > //  <Data>1<Data> |  Name以下に複数追加したい
    > //  </Value> --------------------
    > // </Name>

    <Name>タグに対する"</Name>"が2個ありますよ。
記事No.6137 のレス /過去ログ16より / 関連記事表示
削除チェック/

■6140  Re[2]: DataSetでDataTableの構造ごとのコピー・追加
□投稿者/ はる -(2007/08/02(Thu) 11:32:24)
    ご返答ありがとうございます。
    すみません、写し間違えました。
    正しくは以下の通りです。

    >>//sample.xmlの構造
    >>//<ProjectFile>
    >>// <ProjectInfo>
    >>// <Type>1</Type>
    >>// <Version>1.0</Version>
    >>// </ProjectInfo>
    >>// <ModelData>
    >>// <Element>
    >>// <Name>aaa</Name>
    >>// <Value> --------------------- ※このValueを構造も含めコピーし
    >>// <Data>1<Data> |  Name以下に複数追加したい
    >>// </Value> --------------------
    >>// </Element>
    >>// </ModelData>
    >>//</ProjectFile>

    Value以下のDataも含めコピーし追加したいのですが
    どのようにすればよいのでしょうか?
    よろしくお願い致します。
記事No.6137 のレス /過去ログ16より / 関連記事表示
削除チェック/

■6141  Re[3]: DataSetでDataTableの構造ごとのコピー・追加
□投稿者/ HIRO -(2007/08/02(Thu) 12:50:36)
>
    DataSetで行うには、ちょっと階層が深すぎて面倒そうですね。
    DOMでの操作の方がよろしいのではないでしょうか?

    確認です
    はるさんはNo5834のaaaさんと同一人物ですか?
記事No.6137 のレス /過去ログ16より / 関連記事表示
削除チェック/

■6143  Re[4]: DataSetでDataTableの構造ごとのコピー・追加
□投稿者/ はる -(2007/08/02(Thu) 13:05:59)
    HIROさん、ご返答ありがとうございます。
    前回はお世話になりました。No5834のaaaです。
    前回適当な名前をつけたので名前を変更しました。
    紛らわしくてすみません。。。

    >DataSetで行うには、ちょっと階層が深すぎて面倒そうですね。
    >DOMでの操作の方がよろしいのではないでしょうか?

    ご意見ありがとうございます。
    DOMとはXmlDocumentのことでしょうか?
記事No.6137 のレス /過去ログ16より / 関連記事表示
削除チェック/

■6144  Re[5]: DataSetでDataTableの構造ごとのコピー・追加
□投稿者/ HIRO -(2007/08/02(Thu) 13:20:40)
>
    No6143 (はる さん) に返信
    > HIROさん、ご返答ありがとうございます。
    > 前回はお世話になりました。No5834のaaaです。
    > 前回適当な名前をつけたので名前を変更しました。
    > 紛らわしくてすみません。。。
    >
    > >DataSetで行うには、ちょっと階層が深すぎて面倒そうですね。
    > >DOMでの操作の方がよろしいのではないでしょうか?
    >
    > ご意見ありがとうございます。
    > DOMとはXmlDocumentのことでしょうか?

    そうです。

    別にDataSetでもできると思うのですが、サンプルのXMLファイルをDataSetへ読み込むとDataTableが5つ出来てしまいます(数え間違えていたらご指摘願います)

    その5つの中から特定テーブルの特定項目を探して追加するよりはDOMの方が良いような気がします。(これはあくまでも私個人の意見です。絶対という意味ではありません)

    DOMを使用する場合は
    ・XmlDocumentクラス
     Xmlファイルを読み込む(XmlLoadメソッド)
    Xmlファイルを保存する(XmlSaveメソッド)
     読み込んだXmlDocumentから特定のノードリストを取得する(SelectNodeメソッド)
    ・XmlNodeクラス
     読み込んだXmlDocumentから取得したノードリストに、指定したノードを追加する(AppendChild)

    等の知識が必要になるかと思います。


記事No.6137 のレス /過去ログ16より / 関連記事表示
削除チェック/

■6150  Re[6]: DataSetでDataTableの構造ごとのコピー・追加
□投稿者/ はる -(2007/08/02(Thu) 14:11:40)
    ありがとうございます。
    XmlDocumentも試してみました。
    XmlDocumentで要素を一つずつ追加することはできましたが
    ツリー構造を子も含めてコピーして追加することってできますか?
記事No.6137 のレス /過去ログ16より / 関連記事表示
削除チェック/

■6152  Re[7]: DataSetでDataTableの構造ごとのコピー・追加
□投稿者/ HIRO -(2007/08/02(Thu) 14:20:04)
>
    No6150 (はる さん) に返信
    > ありがとうございます。
    > XmlDocumentも試してみました。
    > XmlDocumentで要素を一つずつ追加することはできましたが
    > ツリー構造を子も含めてコピーして追加することってできますか?

    取得したノードをXmlNodeクラスのAppendChildメソッドで追加できるのではないでしょうか?
    (すみませんが検証しておりません)
記事No.6137 のレス /過去ログ16より / 関連記事表示
削除チェック/

■6153  Re[8]: DataSetでDataTableの構造ごとのコピー・追加
□投稿者/ はる -(2007/08/02(Thu) 15:05:38)
    No6152 (HIRO さん) に返信
    > ■No6150 (はる さん) に返信
    >>ありがとうございます。
    >>XmlDocumentも試してみました。
    >>XmlDocumentで要素を一つずつ追加することはできましたが
    >>ツリー構造を子も含めてコピーして追加することってできますか?
    >
    > 取得したノードをXmlNodeクラスのAppendChildメソッドで追加できるのではないでしょうか?
    > (すみませんが検証しておりません)


    以下のコードを書いていますがうまくいきません。
    ノードのコピーが足りないように思いますがよく分かりません。

    //---ソースコード---------------------------------
    XmlDocument doc = new XmlDocumen();
    XmlTextWriter tw = new XmlTextWriter("result.xml",null);
    XmlNode domNode;
    XmlNode addNode;

    //XMLファイルの読み込み
    doc.Load("sample.xml");

    //コピーするノードを設定
    addNode=doc.SelectSingleNoe("/ProjectFile/ModelData/Element/Value");

    //指定位置に追加実行
    domNode=doc.SelectSingleNode("/ProjectFiles/ModelData/Element");
    domNode.AppendChild(addNode);

    //XMLファイルに書き込み
    doc.Save(tw);

    //sample.xmlの構造
    //<ProjectFile>
    // <ProjectInfo>
    // <Type>1</Type>
    // <Version>1.0</Version>
    // </ProjectInfo>
    // <ModelData>
    // <Element>
    // <Name>aaa</Name>
    // <Value> --------------------- ※このValueを構造も含めコピーし
    // <Data>1<Data> |  Name以下に複数追加したい
    // </Value> --------------------
    // </Element>
    // </ModelData>
    //</ProjectFile>


    間違いご指摘いただけるとうれしいです。
    よろしくお願い致します。
記事No.6137 のレス /過去ログ16より / 関連記事表示
削除チェック/

■6154  Re[9]: DataSetでDataTableの構造ごとのコピー・追加
□投稿者/ はる -(2007/08/02(Thu) 15:14:50)
    すみません、Cloneでノードをコピーする操作が抜けていました。
    無事、追加できました。
    HIROさん、初歩的な質問にお付き合いいただき
    本当にありがとうございました。
    またよろしくお願い致します!!!
記事No.6137 のレス / END /過去ログ16より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -