我有一个有效的xml流,并希望以易读的方式将此流写入调试输出。
目前,我得到了类似的内容:
<bla><yadda>hello</yadda><yadda>world</yadda></bla>
但我想要的是:
<bla>
<yadda>hello</yadda>
<yadda>world</yadda>
</bla>
有一种简单的方法吗?
到目前为止,这是我的代码:
stream.Position = 0;
byte[] bbb = stream.GetBuffer();
string str = "";
for(int i = 0; i < stream.Length; i++)
{
byte b = bbb[i];
str += Convert.ToChar(b).ToString();
}
Debug.WriteLine(str);
答案 0 :(得分:2)
这应该有效
string xml = "<bla><yadda>hello</yadda><yadda>world</yadda></bla>";
XDocument doc = XDocument.Parse(xml);
Console.WriteLine(doc.ToString());
输出
<bla>
<yadda>hello</yadda>
<yadda>world</yadda>
</bla>
答案 1 :(得分:1)
使用XDocument
并加载汽油
XDocument doc= XDocument.Load(stream);
Debug.WriteLine(doc.ToString());
答案 2 :(得分:1)
另一种方法是使用System.Xml.Linq.XElement:
var xel = System.Xml.Linq.XElement.Parse("<bla><yadda>hello</yadda><yadda>world</yadda></bla>");
Console.WriteLine(xel);
答案 3 :(得分:1)
这也有效:
StreamReader strm = new StreamReader(@"D:\\maoh.xml");
while (strm.EndOfStream == false)
{
Console.WriteLine(strm.ReadLine());
}
并给出:
答案 4 :(得分:0)
您可以使用Tidy.Net库。它允许你:
先开后合BR
缩进
缩进的属性
缩进空间
标记
标点符号缠绕
排序属性
分割
标签尺寸
垂直空间
涡卷
包裹-ASP
总结属性
包裹-jste
总结PHP
包裹式脚本的文本
涡卷截面