Domanda

Sto cercando di produrre un XmlDocument che ha un DOCTYPE come specificato nella lista proprietà di Apple formato (P-List), che dovrebbe assomigliare a questo:

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

Il codice che ho al momento come questo aspetto:

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");
        ..
        ..
}

Il DocType non viene mai scritta nel documento (o almeno non compare mai nel documento finale). Ottengo solo questo:

<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">

sarei grato per qualsiasi aiuto.

È stato utile?

Soluzione

Ho cercato il tuo codice e cambiato l'uscita di memoria Stream per un percorso di file e controllato il file di output dopo l'esecuzione del codice e la DocType è stato scritto per correttamente.

Puoi provare l'output in un file nel codice per vedere se si tratta di un problema con la linea WriteDocType o della memoria Stream?

Saluti,

Louis R

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top