2011-08-12 8 views
1

私はVS2010とC#を使い始めました。C#のテキストボックスとXml

2つのテキストボックスから値を取り出し、既存のxmlファイルに追加するアプリケーションを作成しようとしています。

例えば、

Text Box 1  Text Box 2 
----------  ---------- 
A    B 
C    D 
E    F 

結果として得られるXMLファイルは、このようになります。

<root> 
<element> 
<Entry1>A</Entry1> 
<Entry2>B</Entry2> 
</element> 
</root> 

のように...

が、これはC#を使用して行うことができます?

エントリを追加できません。つまり、Entry1にはテキストボックス1行目とエントリ2テキストボックス2行目1が含まれている必要があります。

ご協力いただければ幸いです。

おかげで、ここで読む

+0

どのようなアプリケーションですか? Webフォーム? Windowsフォーム?何? –

+0

言及を忘れてしまった! Windowsフォーム – vs2010noob

答えて

1

あなたはこのようなnew lineに基づいてテキストボックスから取得した文字列を分割する必要があります。

string[] lines = theText.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); 

あなたは、各テキストボックスの分割値を持ったら、あなたはあなたの値を通じてSystem.xml.linq.xdocument classとループを使用することができます上記の検索。このような

何か:あなたはLINQクエリを使用してXMLドキュメントを取得またはXDocument

Save方法を使用してXMLファイルに保存することができます

XDocument srcTree = new XDocument(new XElement("Root", 
    new XElement("entry1", "textbox value1"))) 

は、以下のコードは、あなたの文字列を与えますテキストボックスからXMLデータの:

private string createXmlTags(TextBox textBox1, TextBox textBox2) 
    { 
     string strXml = string.Empty; 
     string[] text1Val = textBox1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); 
     string[] text2Val = textBox2.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); 
     int count = 1; 
     IList<XElement> testt = new List<XElement>(); 

     for (int i = 0; i < text1Val.Count(); i++) 
     { 
      testt.Add(new XElement("Entry" + count, text1Val[i])); 
      while (!String.IsNullOrEmpty(text2Val[i])) 
      { 
       count = count + 1; 
       testt.Add(new XElement("Entry"+count,text2Val[i])); 
       break; 
      } 
      count = count + 1; 
     } 
     foreach (var xElement in testt) 
     { 
      strXml += xElement.ToString(); 
     } 
     return strXml; 
    } 

あなたは、既存のXML documenにコードを挿入することができますt。フォロー:How can I build XML in C#?How to change XML Attribute

+0

私はそれを試してみるでしょう。クイック回答のために感謝しています:) – vs2010noob

+0

xmlタグを作成するためのコードで回答が更新されました。また、メソッドから取得した文字列で既存のXMLファイルを更新するためのリンクを提供しました – reggie

+0

このコードと以前入力したコードとの違いは何ですか? それはうまくいかないでしょうかこれは簡単でしょうか? – vs2010noob

0

XDocument or XmlDocument

が、私はそこからコードをコピーしないの良識を持っています。 XML文書を作成する上で知っておく必要があるすべての基本的なことがよく説明されています。

2つのオプションがあります。私は個人的にXDocumentを使用します。

私はこの回答にコードはありませんが、何も試していないので、明らかにGoogleを検索していないので(私には分かると思いますが)、「正しいあなたは魚 "です。

+0

私は信頼しています...私は検索してきましたが、何を検索するのか本当に分かっていませんでした:p ... XMLファイルを操作できる方法がたくさんあります。 XDocumentはXMLを編集する最も良い方法ですか? – vs2010noob

関連する問題