2010-05-25 3 views
2

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

<?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

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

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

С уважением,

Louis R

+0

Это не было ни - я спасен от XML-в файл и обнаружил, что Internet Explorer обрабатывает эту строку, но не отображает его. Странно, но спасибо за вашу помощь! –

Смежные вопросы