我要生成在我的C#代碼以下XML輸出:移除命名空間標籤(的xmlns :)從XMLSerializer的
<?xml version="1.0" encoding="utf-16"?>
<CallConnectReq Xmlns="urn:interno-com:ns:a9c" reqId="9" msgNb="2">
<LocalCallId>0</LocalCallId>
</CallConnectReq>
現在我實現這一目標如下:
var xnameSpace = new XmlSerializerNamespaces();
xnameSpace.Add("Xmlns", Constants.XmlNameSpaceValue);
var xmlSerializer = new XmlSerializer(objToSerialize.GetType());
var stringWriter = new StringWriter();
xmlSerializer.Serialize(stringWriter, objToSerialize, xnameSpace);
return stringWriter.ToString().**Replace("xmlns:","");**
但我想到刪除「xmlns:」標記而不使用Replace()方法。 有什麼辦法可以做到嗎?
的可能重複的[XmlSerializer的:除去不必要的xsi和xsd命名空間(http://stackoverflow.com/questions/760262/xmlserializer-刪除不必要的xsi和xsd命名空間) – jgauffin 2011-12-22 07:35:46
@deathrace - 類型是什麼樣的,什麼是當前的xml看起來像? – 2011-12-22 07:51:44
@jgauffin(我以前的評論是不正確的,順便說一句) - 它肯定是*相關的*,但獲取默認命名空間的語法略有不同,並且需要對類型定義進行其他更改 - 足夠分離,IMO – 2011-12-22 07:55:31