использование C # WriteDocType () для генерации XML, совместимого со списком свойств Apple - PullRequest
2 голосов
/ 25 мая 2010

Я пытаюсь создать XmlDocument, который имеет DocType, как указано в формате списка свойств Apple (P-List), который должен выглядеть следующим образом:

<?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 Ответ

1 голос
/ 26 мая 2010

Я попробовал ваш код и изменил выходной поток памяти на путь к файлу и проверил выходной файл после выполнения кода, и DocType был записан в него правильно.

Можете ли вы попробовать вывести файл в свой код, чтобы увидеть, если это проблема со строкой WriteDocType или потоком памяти?

С уважением,

Луи Р

...