2012-06-20 4 views
5

Hallo Ich habe zur Zeit ein Problem mit dem Parsen einer Xml-Zeichenfolge ohne Namespace und hinzugefügt zu einem vorhandenen XElement mit einem Namespace.Den Namespace während einer Analyse setzen

mein Code:

XElement elem = root.Element(xs + "methodCall"); 
if (elem != null) 
{ 
    XElement e = XElement.Parse(this.MethodCallXML); 

    elem.Add(e); 
} 

das Ergebnis:

<methodCall> 
    <methodCall service="activity" method="activityDeleteComment" xmlns=""> 
    <espSessionState>espSessionState1</espSessionState> 
    <traceFlowCode>true</traceFlowCode> 
    <params> 
     <commentID>http://uri1</commentID> 
     <isPermanentDelete>false</isPermanentDelete> 
    </params> 
    </methodCall> 
</methodCall> 

mein Problem ist die xmlns = "" Ich kann nicht herausfinden, wie die Knoten mit Hilfe einer Parse-Methode erstellen und eine Standard geben zu verwendender Namespace.

Gibt es eine Möglichkeit, dies zu tun?

Antwort

8

Ok habe ich herausgefunden, wie man den Namespace auf den neuen XElement hinzuzufügen und alle Nachkomme

foreach (XElement ce in e.DescendantsAndSelf()) 
    ce.Name = xs + ce.Name.LocalName; 

Bisher dies mein Problem löst, aber wenn jemand einen potentiellen Fehler oder einen einfacheren Weg, dies zu tun, lassen Sie es sehen kann Ich weiß es.

Verwandte Themen