Pet*_*ter 4 .net c# xml xml-serialization xmlserializer
我有一个XmlSerializer,我用它来将对象序列化为XDocument.
var doc = new XDocument();
using (var writer = doc.CreateWriter())
{
xmlSerializer.Serialize(writer, object);
}
Run Code Online (Sandbox Code Playgroud)
完成此操作后,我想添加一个XDeclaration:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
Run Code Online (Sandbox Code Playgroud)
我构建了这个XDeclaration,如下所述:
var decl = new XDeclaration("1.0", "UTF-8", "no");
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试将此XDeclartion添加到我的XDocument时,我收到以下错误:
System.ArgumentException : Non white space characters cannot be added to content.
Run Code Online (Sandbox Code Playgroud)
我搜索谷歌已经有一段时间了,但我发现只是将XDeclaration添加到XDocument的构造函数中,在我的情况下(当用XmlWriter填充它时)是不可接受的.
编辑:
示例代码:
var xmlSerializer = new XmlSerializer(typeof(int));
var doc = new XDocument();
var decl = new XDeclaration("1.0", "utf-8", "no");
doc.Declaration = decl;
using (var writer = doc.CreateWriter())
{
xmlSerializer.Serialize(writer, 1);
}
doc.Save(File.Create("x.xml"));
Run Code Online (Sandbox Code Playgroud)
此代码生成以下输出:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<int>1</int>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5685 次 |
| 最近记录: |