我正在使用SyndicationFeed类来生成 Atom feed 和 Atom10FeedFormatter 来序列化它。我希望能够在文件写入磁盘时在元素之间添加换行符。我意识到提要读者并不关心,但是当我通过 http://feedvalidator.org/ 运行我的文档时它将整个文档视为一行,这使得它成为一个 PITA,可以查看我的错误在哪里,因为每个错误都在“第 1 行”上。
例如,不要像这样输出:
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">Title For My Feed</title><subtitle type="text">Subtitle for my feed.</subtitle><id>uuid:d2ad3f53-6f1a-4495-ba92-ab3231413f97;id=1</id><updated>2009-05-12T19:42:56Z</updated><author><name>Matt</name>...
我想得到这样的输出:
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title type="text">Title For My Feed</title>
<subtitle type="text">Subtitle for my feed.</subtitle>
<id>uuid:d2ad3f53-6f1a-4495-ba92-ab3231413f97;id=1</id>
<updated>2009-05-12T19:42:56Z</updated>
<author>
<name>Matt</name>
...
这是我用来序列化的代码,以防万一:
XmlWriter atomWriter = XmlWriter.Create(@"atom.xml");
Atom10FeedFormatter atomFormatter = new Atom10FeedFormatter(TheFeed);
atomFormatter.WriteTo(atomWriter);
atomWriter.Close();
最佳答案
XmlWriter 类有一个 Settings 属性,可让您以多种方式设置 xml 格式,包括行格式和缩进。
这是MSDN reference .
关于c# - 如何向 SyndicateFeed 对象的序列化输出添加换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/854758/