1

在我的项目中,我有一个表格,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 someBox;
someBox.Append(XMLstring);

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

4

1 回答 1

3

您可以使用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();
于 2013-04-25T09:10:02.210 回答