在System.Console上看到XML声明的问题

时间:2010-01-06 01:06:53

标签: c# linq-to-xml

我一直在尝试使用LINQ to XML,并遇到了一个非常基本的问题。出于某种原因,在将树转储到System.Console时,我没有看到XML声明。

using System;
using System.Xml.Linq;

...

public static void Main(string[] args)
{
    // Build tree.
    XDocument xd = new XDocument(new XDeclaration("1.0", "utf-8", "yes"));

    // Output tree.
    System.Console.WriteLine(xd);

    // Pause.
    System.Console.ReadLine();
}

有人可以解释我做错的基本事情吗?

谢谢,

斯科特

2 个答案:

答案 0 :(得分:3)

将一些真实数据添加到XDoc。并确保使用Save()方法查看整个内容:

  XDocument xd = new XDocument(new XDeclaration("1.0", "utf-8", "yes"));
  xd.Add(new XElement("top"));
  xd.Save(Console.Out);

答案 1 :(得分:1)

你的文档是空的,所以你只会看到一个换行符(看起来是空白的)。

尝试在XML文档中添加内容。这将打印出值XML doc:

// Build tree. 
XDocument xd = new XDocument(new XDeclaration("1.0", "utf-8", "yes"));
xd.AddFirst(new XElement("root"));

// Output tree. 
System.Console.WriteLine(xd);