c# - 如何使用 XDocument 打印 <?xml version ="1.0"?>

标签 c# xml linq-to-xml

有什么方法可以让 XDocument 在使用 ToString 方法时打印 xml 版本?让它输出这样的东西:

<?xml version="1.0"?>
<!DOCTYPE ELMResponse [
]>
<Response>
<Error> ...

我有以下内容:

var xdoc = new XDocument(new XDocumentType("Response", null, null, "\n"), ...

这将打印这很好,但它缺少如上所述的“

<!DOCTYPE ELMResponse [
]>
<Response>
<Error> ...

我知道你可以通过我自己手动输出来做到这一点。只是想知道是否可以使用 XDocument。

最佳答案

通过使用 XDeclaration。这将添加声明。

但是使用 ToString() 你不会得到想要的输出。

您需要将 XDocument.Save() 与他的方法之一一起使用。

完整示例:

var doc = new XDocument(
        new XDeclaration("1.0", "utf-16", "yes"), 
        new XElement("blah", "blih"));

var wr = new StringWriter();
doc.Save(wr);
Console.Write(wr.ToString());

关于c# - 如何使用 XDocument 打印 <?xml version ="1.0"?>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/957124/

相关文章:

.net - System.Xml.Linq.XDocument' 在未引用的程序集中定义

c# - WPF DataGrid 在渲染期间缓慢加载

c# - 使用 LINQ 将所有 Xml 元素值大写

c# - 创建 IHttpActionResult 以返回已接受的状态代码

java - jbpm6-build.xml :508: jboss did not start within 5 minutes

java - 在 groovy/java 中递归解析 XML

sql-server - 使用基于连接的当前节点值从辅助表更新 xml 节点值

c# - 如何提高XML文档的加载速度

c# - Chrome cookie 不是最新的

c# - .Net IP 地址 IPv4