2014-01-22 133 views
2

的Xml struture如何刪除屬性的XML

<soap-env:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soapenv:Header> 
     <mm7:id xmlns:mm7="http://schemas.xmlsoap.org/soap/envelope/" mustUnderstand="1">1234</mm7:id> 
    </soapenv:Header> 
    <soap-env:Body> 
     <SubmitReq> 
      <number xmlns="">5674</number> 
     </SubmitReq> 
    </soap-env:Body> 
</soapenv:Envelope> 

編碼

Dim bodychild As XmlElement = _xmlRequest.CreateElement("SubmitReq", "http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2") 
     soapBody.AppendChild(bodychild) 
     Dim numberAs XmlElement = _xmlRequest.CreateElement("number") 
     number.InnerText = "5674" 
     bodychild.AppendChild(number) 

如何刪除的xmlns = 「」,我嘗試使用和的removeAttribute方法RemoveAttributeAt刪除,但沒有。是不是可以刪除它?

回答

0

要刪除屬性,您可以使用node.Attributes.RemoveNamedItem並傳遞要刪除的屬性的名稱作爲參數,並刪除屬性。

+0

我試試這個編碼number.Attributes.RemoveNamedItem(「xmlns」)同樣無法刪除它 – askingPPl

2

This question我相信有一個答案 - 因爲你沒有命名空間添加number,它假設你打算它是在其父的命名空間。因爲您沒有指定名稱空間,所以XML的規則指示它必須位於文檔爲您指定的空名稱空間中。

您應該可以在創建時通過明確指定與SubmitReq相同的名稱空間來修復它。

+0

非常感謝。這正是我遇到的問題。我沒有注意到'xmlns'可能是'xml NameSpace'! – LogoS