2013-02-12 86 views
1

我有一個XML文件,我需要反序列化它。不繞過所有節點,只是將XML文件解壓縮到一個對象。xml序列化和反序列化(隱藏一個節點頭)

是否可以隱藏結果ActionGetSiteResultData或只有一種方法 使用自定義序列化/反序列化?

類:

// root 
public Result Result { get; set; } 
// rows 
public class Result 
{ 
    public List<ResultData> Data { get; set; } 
} 
//item 
public class ResultData 
{ 
    [XmlElement(ElementName = "gen_info")] 
    public GenInfo GenInfo { get; set; } 

    [XmlElement(ElementName = "hosting")] 
    public Hosting Hosting { get; set; } 
} 

結果:

<Result> 
    <Id>1</Id> 
    <Data> 
      <ResultData> <--- REMOVE THIS 
      <gen_info> 
       <ascii-name>sadsad</ascii-name> 
       </gen_info> 
       <hosting/> 
      </ResultData> <--- REMOVE THIS 
    </Data> 
    </Result> 

極品:

<Result> 
    <Id>1</Id> 
    <Data> 
     <gen_info> 
      <ascii-name>sadsad</ascii-name> 
     </gen_info> 
     <hosting/> 
    </Data> 
    </Result> 
<Result> 
<Id>2</Id> 
<Data> 
    <gen_info> 
     <ascii-name>sadsad2</ascii-name> 
    </gen_info> 
    <hosting/> 
    </Data> 
</Result> 

回答

0

這應該做的,但很冗長。如果ResultData屬性不起作用,請嘗試[XmlElement(ElementName =「gen_info」))]:

public class Result 
{ 
    [XmlIgnore] 
    public List<ResultData> Data { get; set; } 

    [XmlElement(ElementName = "gen_info")] 
    public ResultData[] __XmlSerializedData{ 
    get{ return Data.ToArray();} 
    set{ Data = new List<ResultData>(value);} 
    } 
}