c# - 使用 C# WriteDocType() 生成符合 Apple Property List 的 XML

标签 c# .net xml doctype xmlwriter

我正在尝试生成一个 XmlDocument,它具有 Apple 的属性列表 (P-List) 格式中指定的 DocType,它应该如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">

我现在的代码是这样的:

using (XmlTextWriter filenameXMLWriter = new XmlTextWriter(ms, null))
{
        filenameXMLWriter.Formatting = Formatting.Indented;
        filenameXMLWriter.WriteStartDocument();
        filenameXMLWriter.WriteDocType("plist", "-//Apple//DTD PLIST 1.0//EN", "http://www.apple.com/DTDs/PropertyList-1.0.dtd", null);

        filenameXMLWriter.WriteStartElement("plist");
        filenameXMLWriter.WriteAttributeString("version", "1.0");
        ..
        ..
}

DocType 永远不会写入文档(或者至少它永远不会出现在输出中)。我刚明白:

<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">

如有任何帮助,我将不胜感激。

最佳答案

我尝试了您的代码并将输出内存流更改为文件路径,并在运行代码后检查了输出文件,并且 DocType 已正确写入其中。

您可以尝试输出到代码中的文件,看看是 WriteDocType 行还是内存流有问题?

问候,

路易斯·R

关于c# - 使用 C# WriteDocType() 生成符合 Apple Property List 的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2903710/

相关文章:

c# - 模型中的表单值在发布后未在 View 中更新

c# - 如何使用 PutObjectAsync 通过 dotnet SDK 将 base64 pdf 上传到 S3

c# - 基于 LINQ 中任意键的不同对象列表

java - JAXB如何将空值字符串解析为null Integer

xml - 收集用于 PerUser 安装程序的文件

c# - 使用 `dynamic` 与 `object` 的性能成本?

c# - 如何在 ASP.NET Core 中注册单例工厂解析作用域对象?

.net - 可用的 MVVM 框架所需的部分

c# - 在 C# 中优雅地处理 XML 文件中的验证错误

c# - DataAnnotations 命名空间中的 Enum 值是否有开箱即用的验证器?