Das ist ein normaler (und optionaler) Teil einer DOCTYPE-Deklaration .
%Vor%Wo DTD enthält interne Teilsatz-Deklarationen zu Ihrem Dokument.
Der zugrunde liegende Leser, der von XmlDocument
verwendet wird (der XmlTextReader
verwendet), unterscheidet nicht zwischen einem Dokument mit einer leeren internen Teilmenge und einer ohne interne Teilmenge, daher wird in beiden Fällen InternalSubset == ""
zurückgegeben.
Dann, wenn XmlDocument.Save()
aufgerufen wird, sieht es eine leere Zeichenfolge für InternalSubset
und schreibt pflichtbewusst eine leere interne Teilmenge: []
.
Leider ist XmlDocument.DocumentType.InternalSubset
schreibgeschützt, Sie können es also nicht auf null setzen. Sie können entweder:
Verwenden Sie die untere Ebene XmlTextWriter.WriteDocType()
, um mehr Kontrolle zu haben.
Verwende XDocument
, wo du XDocument.DocumentType.InternalSubset = null
festlegen kannst.