Ich habe ein XmlNode, die ich wie folgt zu erstellen:Wie definiere ich einen neuen XML-Namespace in einem XmlNode mit einem anderen Präfix in C#?
XmlNode nodeSecurity = xmlDoc.CreateNode(XmlNodeType.Element, "wsse", "Security", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd");
Das Ergebnis sieht wie folgt aus:
<wsse:Security />
Der wsse-Namespace bereits von einem übergeordneten Knoten deklariert wurde, so dass dieser Knoten enthält kein "xmlns: wsse = '...'" - Attribut (unbekannte Namespaces wären in einem automatischen xmlns-Attribut deklariert worden).
Nun mein Problem: Ich brauche hier einen neuen Namensraum zu erklären, so das Ergebnis sieht wie folgt aus:
<wsse:Security wsu:xmlns='....' />
Ich habe versucht, ein Attribut wie folgt hinzuzufügen:
XmlNode attr = xmlDoc.CreateNode(XmlNodeType.Attribute, "wsu", "blabla");
nodeSecurity.Attributes.SetNamedItem(attr);
Und die Ergebnis:
<wsse:Security p4:wsu="" xmlns:p4="blabla" />
Statt:
<wsse:Security wsu:xmlns="blabla" />
Was mache ich hier falsch?
Ja, das hat geholfen. Vielen Dank :) –