Windows窗体项目正确格式的XML在文本框字段

本文关键字:XML 文本 字段 格式 窗体 项目 Windows | 更新日期: 2023-09-27 17:50:36

在我的项目上,我有一个形式,我有TextBox在执行我的程序的某些点,我想把XML字符串在我的TextBox -没有什么复杂的。
问题在于XMLTextBox中显示的格式是:

  <?xml version="1.0" encoding="utf-16" ?><IOTPMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Element1>value</Element1><Element2>value</Element2><Element3>value</Element3></IOTPMessage>

我希望它看起来像正确的XML的样子(新的行,制表符),这是容易阅读:

<?xml version="1.0" encoding="utf-16" ?>
<IOTPMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <Element1>value</Element1>
      <Element2>value</Element2>
      <Element3>value</Element3>
</IOTPMessage>

我把XML字符串放到textBox:

TextBox someBox;
someBox.Append(XMLstring);

老实说,我甚至不知道从哪里开始-除了寻找合适的文章或样本,我没有找到,也许你们中的任何人可以重定向到我可以找到解决方案的地方?

Windows窗体项目正确格式的XML在文本框字段

您可以使用XmlTextWriter来显示正确的XML消息,如:

MemoryStream w = new MemoryStream();
XmlTextWriter writer = new XmlTextWriter(w, Encoding.Unicode);
XmlDocument document = new XmlDocument();
document.LoadXml(xmlString);
writer.Formatting = Formatting.Indented;
document.WriteContentTo(writer);
writer.Flush();
w.Seek(0L, SeekOrigin.Begin);
StreamReader reader = new StreamReader(w);
return reader.ReadToEnd();