Tôi đang điền một TreeView với các nút dựa trên một tài liệu XML. Tuy nhiên, có vẻ như khi tôi đặt giá trị của thuộc tính vào một hộp văn bản, nó sẽ mất các dòng/tab trả về/các dòng mới.Mất các dòng mới với XDocument
Tôi bắt đầu bằng cách thêm một loạt các nút có "tên tác vụ". Mỗi tác vụ có một hoặc nhiều truy vấn trong tài liệu XML. Cũng giống như vậy: <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);
}
}
}
Sau đó trong một sự kiện nút bấm:
void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
textBoxRaw.Text = string.Empty;
if (e.Node.Text.StartsWith("query"))
{
textBoxRaw.Text = e.Node.Name;
}
}
Các truy vấn thuộc tính giá trị chứa một truy vấn SQL dài với dòng mới, các tab, vv Tuy nhiên, không ai trong số đó dường như hiển thị trong hộp văn bản (multiline), mặc dù tất cả tiếng hét của tôi tại Visual Studio. Tôi đang làm gì sai? Ngoài ra, var doc = XDocument.Load(filename, LoadOptions.PreserveWhitespace);
dường như không hoạt động.
+1 đây là những gì tôi đang cố gắng nói trong nhận xét của mình. –
Yikes. Vâng, đó không thực sự là một lựa chọn trong trường hợp của tôi. –