2012-06-20 12 views
5

Merhaba Şu anda bir ad alanı olmadan bir Xml dizesini ayrıştırma konusunda bir sorun yaşıyorum ve bir ad alanı olan varolan bir XElement öğesine eklendim.Bir ayırma sırasında ad alanını ayarlama

kodum:

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

    elem.Add(e); 
} 

sonucu:

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

benim sorunum ben bir ayrıştırma yöntemi kullanılarak düğüm oluşturmak anlamaya ve ona bir varsayılan veremez "" xmlns = olduğunu kullanılacak ad alanı.

Bunu yapmanın bir yolu var mı?

cevap

8

Tamam ben yeni XElement için ad ekleyin ve

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

Şimdiye kadar bu sorunumu çözdü tüm torunları ama herkes potansiyel bir kusur ya da bunu yapmanın kolay bir yolu görebiliyorsanız bildirin lütfen nasıl anladım ben biliyorum

İlgili konular