2011-08-31 6 views
5

XML文書に基づいてノードをツリービューに設定しています。しかし、属性値をテキストボックスに入れると、改行/改行/タブが失われてしまうようです。XDocumentで改行をなくす

「タスク名」のついたノードを追加することから始めます。各タスクは、XMLドキュメントに1つ以上のクエリを持ちます。そのような:<Tasks><Task name="aTaskName"><Queries><add Query="a long string with tabs and newlines and such" /></Queries></Task> ... </Tasks>その後ノードをクリックしてイベントで

void PopulateQueries(XDocument doc, TreeView tree) 
{ 
    foreach (TreeNode node in tree.Nodes) 
    { 
     var taskName = node.Text; 
     var queriesNode = node.Nodes.Add("Queries"); 
     var queries = doc.Descendants("Tasks") 
      .Descendants("Task") 
      .Where(d => d.Attribute("name").Value == taskName) 
      .Descendants("Queries") 
      .Descendants("add") 
      .ToList(); 

     for (int i = 0; i < queries.Count;i++) 
     { 
      queriesNode.Nodes.Add(queries[i].Attribute("Query").Value, "query" + i); 
     } 
    } 
} 

void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) 
{ 
    textBoxRaw.Text = string.Empty; 
    if (e.Node.Text.StartsWith("query")) 
    { 
     textBoxRaw.Text = e.Node.Name; 
    } 
} 

クエリ値等改行、タブ、長いSQLクエリが含まれています。しかしそのどれもに表示するようでない属性私がVisual Studioで叫んでいるにもかかわらず、(複数行の)テキストボックス。私は間違って何をしていますか?また、var doc = XDocument.Load(filename, LoadOptions.PreserveWhitespace);もうまくいかないようです。

答えて

関連する問題