c# - 如何向 SyndicateFeed 对象的序列化输出添加换行符?

标签 c# .net syndication syndication-feed

我正在使用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/

相关文章:

c# - 如何使用 System.ServiceModel.Syndicate 从 RSS 源读取 "dc:creator"元素

php - 如何覆盖自定义提要的 WP Admin 联合提要限制?

.net - 配置文件中的 DTD 实体

c# - Action 过滤器未被调用 WebAPI/.net Core

c# - Geocode api OVER QUERY LIMIT 由于并行

c# - LazyLoading 关闭时从 IdentityUser 访问导航属性

.net - 带有 .NET Core 的 Angular 2

c# - 从 ConcurrentDictionary 转换为 IDictionary

c# - 从 XmlWriter.WriteStartElement 中排除命名空间时出现问题

c# - Java中的贷款模式/自动资源管理