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

时间:2010-05-25 10:14:35

标签: 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">

我会感激任何帮助。

1 个答案:

答案 0 :(得分:1)

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

您是否可以尝试输出代码中的文件以查看WriteDocType行或内存流是否存在问题?

此致

Louis R