Wie füge ich ein Dokument-Typ ein XDocument?
Ich habe eine vorhandene XDocument-Objekt, das ich hinzufügen möchte, eine XML-doctype-Deklaration. Zum Beispiel:
XDocument doc = XDocument.Parse("<a>test</a>");
Kann ich erstellen Sie eine XDocumentType mit:
XDocumentType doctype = new XDocumentType("a", "-//TEST//", "test.dtd", "");
Aber wie kann ich mich bewerben, dass zu der bestehenden XDocument?
InformationsquelleAutor James Sulak | 2009-09-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie eine
XDocumentType
zu einem bestehendenXDocument
, aber es muss das erste element Hinzugefügt. Die Dokumentation rund um dieses vage.Vielen Dank an Jeroen für den Hinweis auf den praktischen Ansatz der Verwendung von
AddFirst
in die Kommentare. Dieser Ansatz ermöglicht Ihnen, schreiben Sie den folgenden code, der zeigt, wie Sie dieXDocumentType
nach derXDocument
bereits Elemente:Alternativ könnten Sie die
Add
Methode zum hinzufügen einesXDocumentType
zu einem bestehendenXDocument
, aber der Nachteil ist, dass kein anderes element vorhanden sein sollte, da es der erste.Auf der anderen Seite, das folgende ist unwirksam und würde in einer InvalidOperationException: "Dieser Vorgang wäre ein falsch strukturiertes Dokument."
tut es, aber ich nicht finden konnte, erklärte Sie auf der MSDN-Website für XDocument. Siehe auch den aktualisierten code und InvalidOperationException.
Sie können hinzufügen, ein XDocumentType später, aber Sie haben, um sicherzustellen, dass es ist das erste element in der
XDocument
. Sie können tun, dass durch die VerwendungxDocument.AddFirst(documentType)
statt ausxDocument.Add(documentType)
.danke, das ist viel bequemer. Ich aktualisiert meine Reaktion auf diese Informationen.
InformationsquelleAutor Ahmad Mageed
Nur an den
XDocument
constructor (vollständiges Beispiel):oder verwenden Sie
XDocument.Add
(dieXDocumentType
muss Hinzugefügt werden, bevor das root-element):InformationsquelleAutor dtb