Wie erstellen Sie XElement mit dem Standard-namespace für Kinder ohne Verwendung XNamespace in allen untergeordneten Knoten

Ich versuche zu verwenden System.Xml.Linq zum erstellen von XHTML-Dokumenten. So, die überwiegende Mehrheit der Knoten in meine Bäume sollten diesen namespace verwenden:

http://www.w3.org/1999/xhtml

Kann ich XElement Knoten bezieht sich auf diesen namespace einfach genug, mit einem XNamespace wie diese:

XNamespace xhtml = "http://www.w3.org/1999/xhtml";
//...
new XElement(xhtml + "html", //...

Aber ich will nicht zu haben, um eine XNamespace verfügbar in all der code, der erzeugt HTML-Knoten, und haben das Präfix jedes einzelne XElement (und XAttribute) name erstelle ich entsprechend.

Den XML-text-format selbst nimmt diese Anforderung zu berücksichtigen, und erlaubt die Einstellung einer Standard-namespace in einem Vorfahren, die Nachkommen vererbt, mit dem reservierten xmlns Attribut. Ich würde gerne etwas ähnliches machen mit System.Xml.Linq.

Ist das möglich?

InformationsquelleAutor Barry Kelly | 2009-01-25
Schreibe einen Kommentar