2010-05-25 19 views
2

我試圖產生XmlDocument在蘋果的屬性列表(P列表)格式指定其中有一個DOCTYPE,它應該是這樣的:使用C#WriteDocType()來生成蘋果屬性列表兼容的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行還是Memory Stream的問題?

問候,

路易斯 - [R

+0

它既不是 - 我救離的XML文件,發現Internet Explorer正在處理這一行,但不顯示它。奇怪,但感謝您的幫助! – 2010-05-26 15:33:48