2012-11-06 167 views
0

我有一個包含這些元素更改/重命名空間前綴

<customer> 
    <ns8:title xmlns:ns8="http://ws.xxx.com/xxx/model/common">B< /ns8:title> 
    <ns9:firstname xmlns:ns9="http://ws.xxx.com/xxx/model/common">Bob< /ns9:firstname> 
    <ns10:lastname xmlns:ns10="http://ws.xxx.com/xxx/model/common">Petier< /ns10:lastname> 
    <ns11:bday xmlns:ns11="http://ws.xxx.com/xxx/model/common">19310227< /ns11:bday> 
    <ns12:rank xmlns:ns12="http://ws.xxx.com/xxx/model/common">1< /ns12:rank> 
</customer> 

我想改變前綴像這樣的的XElement。

<customer> 
    <ns1:title xmlns:ns1="http://ws.xxx.com/xxx/model/common">B< /ns1:title> 
    <ns2:firstname xmlns:ns2="http://ws.xxx.com/xxx/model/common">Bob< /ns2:firstname> 
    <ns3:lastname xmlns:ns3="http://ws.xxx.com/xxx/model/common">Petier< /ns3:lastname> 
    <ns4:bday xmlns:ns4="http://ws.xxx.com/xxx/model/common">19310227< /ns4:bday> 
    <ns5:rank xmlns:ns5="http://ws.xxx.com/xxx/model/common">1< /ns5:rank> 
< /customer> 

我試圖刪除屬性,但沒有運氣..

任何想法?

回答

1

您應該刪除現有的命名空間定義屬性(如果有的話),並添加一個新問題:

element.Add(new XAttribute(XNamespace.Xmlns + "ns1", "http://ws.xxx.com/xxx/model/common")); 

通過增加一個明確的命名空間屬性,你會強迫的XElement使用它的序列化。