簡體   English   中英

從子元素中刪除XML名稱空間

[英]Remove XML namespace from child element

我不確定如何執行此操作,但是我需要生成一個excel文件,如下所示

<abc: Declarant>
<Type>Test</Type>
<ReferenceNo>TESTREF</ReferenceNo>
<Provider>Me</Provider>
</abc: Declarant>

請注意,名稱空間是如何僅在更高級別上前綴的。 無論是否使用名稱空間前綴,我都可以將其序列化,但是沒有它似乎無法得到它。

這是我序列化之前的東西

XmlSerializer x = new XmlSerializer(t.GetType());
            System.IO.StreamWriter file = new System.IO.StreamWriter(
            path);
            XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
            ns.Add("abc", "http://www.iwebcms.com");

            x.Serialize(file, t,ns);

聲明如下

[XmlElement(ElementName =“ Declarant”,Namespace =“ http://www.iwebcms.com ”)]公共聲明符 組; }

[Serializable()]
    public class Declarant
    {
        [XmlElement(ElementName = "Type")]
        public string Type { get; set; }

        [XmlElement(ElementName = "ReferenceNo")]
        public string ReferenceNo { get; set; }

        [XmlElement(ElementName = "Provider")]
        public string Provider { get; set; }
}

任何幫助將不勝感激 :(

謝謝

您似乎正在使用兩個不同的命名空間,在一個地方將其定義為http://www.mysite ,在另一個地方將其定義為http://www.iwebcms.com 確保在各處使用正確的名稱空間。

我最終只是將文件作為原始文本循環瀏覽,並替換了我需要的名稱空間-令人討厭,但讓我開始....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM