將XML節點的外部文本放在WPF文本框中非常簡單。但是有沒有辦法讓文本框格式化爲XML文檔?是否有不同的控制方式呢?在WPF文本框中顯示XML
11
A
回答
21
這應該做的伎倆:
protected string FormatXml(string xmlString)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlString);
StringBuilder sb = new StringBuilder();
System.IO.TextWriter tr = new System.IO.StringWriter(sb);
XmlTextWriter wr = new XmlTextWriter(tr);
wr.Formatting = Formatting.Indented;
doc.Save(wr);
wr.Close();
return sb.ToString();
}
4
您可以附加到轉換器的綁定並在轉換器內調用以格式化代碼。
這是格式化XML示例代碼:
public string FormatXml(string xml)
{
var doc = new XmlDocument();
doc.LoadXml(xml);
var stringBuilder = new StringBuilder();
var xmlWriterSettings = new XmlWriterSettings
{Indent = true, OmitXmlDeclaration = true};
doc.Save(XmlWriter.Create(stringBuilder, xmlWriterSettings));
return stringBuilder.ToString();
}
和測試演示用法:
public void TestFormat()
{
string xml = "<root><sub/></root>";
string expectedXml = "<root>" + Environment.NewLine +
" <sub />" + Environment.NewLine +
"</root>";
string formattedXml = FormatXml(xml);
Assert.AreEqual(expectedXml, formattedXml);
}
3
相關問題
- 1. 文本框邊框不顯示 - WPF
- 2. WPF - 顯示文本框工具提示
- 3. 在datagrid文本框中顯示缺少的文本部分WPF
- 4. 在WPF文本塊/框中顯示XML文件的內容,無標籤
- 5. WPF datagridtextcolumn - 始終顯示文本框
- 6. 更改WPF組合框顯示文本
- 7. Wpf Datagrid不顯示文本框數據?
- 8. 顯示文本列在WPF
- 9. 在文本框中顯示
- 10. WPF和XML獲取下一個節點元素並在文本框中顯示
- 11. 在WPF中獲取ComboBox顯示文本
- 12. 在WPF中顯示常量文本的組合框
- 13. 比較兩個文本框值並在WPF中顯示錯誤
- 14. 在沒有焦點的WPF文本框中顯示光標
- 15. 在WPF文本框中顯示「當前工作目錄」
- 16. 在WPF中顯示錯誤消息文本框
- 17. WPF多行文本框:查找並突出顯示文本框中的內容
- 18. wpf PathFigure繪製/顯示/顯示文本
- 19. 在文本框的treeview中顯示XML模式數據
- 20. WPF格式顯示文本?
- 21. 顯示文本框中,
- 22. 只顯示在文本框
- 23. 將文本框文本綁定到wpf中的xml文件
- 24. 文本框在WPF
- 25. 在WPF中的框架中顯示Powerpoint演示文稿
- 26. 綁定WPF組合框並將其值顯示到文本框
- 27. 複選框顯示/隱藏文本框WPF
- 28. 如何在wpf文本框中顯示組合框選定的值
- 29. 顯式指示WPF文本框中的空格
- 30. Caliburn micro autofac - 顯示文本框中的結果(日誌)WPF
這隻適用於XML文件,不適用於內存中的XML變量 – DdW 2016-07-29 12:13:38
@DdW如果XML在內存中,則必須保存到臨時文件。 – OmegaMan 2016-07-29 13:46:22