我正在尝试生成一个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正确写入后,将输出Memory Stream更改为文件路径,并检查了输出文件。

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

问候,

路易斯·R

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

10-10 11:32