如何修复我的XML模型类

时间:2014-04-07 10:14:07

标签: c# xml

我有一个序列化和反序列化XML文件的任务。我已成功反序列化数据。但序列化时会出现问题。

我的示例XML输入文件如下所示:

<SampleXML>
   <CTAG>
      <CValue>100</Value1>
      <CName>AB CORP</Value2>
   </CTAG>
   <Details>
      <ValueA>200</ValueA>
      <ValueB>BALANCE</ValueAB>
   </Details>
</SampleXML>

在这里,我希望CTAG和细节会多次出现,具体取决于项目总数。 假设有两个项目,则XML文件应如下所示:

<SampleXML>
   <CTAG>
      <CValue>100</Value1>
      <CName>AB CORP</Value2>
   </CTAG>
   <Details>
      <ValueA>200</ValueA>
      <ValueB>BALANCE</ValueAB>
   </Details>
   <CTAG>
      <CValue>500</Value1>
      <CName>BB HASH</Value2>
   </CTAG>
   <Details>
      <ValueA>100</ValueA>
      <ValueB>CREDITOR</ValueAB>
   </Details>
</SampleXML>

这意味着CTAG和DETAILS标签会一个接一个地出现两次。

现在,我需要帮助为这些XML文件生成C#Model类。

到目前为止我设计的是:

public class SampleXML
{
public CTAG [] CTAG{get;set;}
public Details [] Details{get;set;}
}

public class CTAG
{
public String CValue {get;set;}
public String CName {get;set;}
}

public class Details
{
public String ValueA {get;set;}
public String ValueB {get;set;}
}

但是这个类为2个项目生成如下输出,这不是我想要的输出

<SampleXML>
       <CTAG>
          <CValue>100</Value1>
          <CName>AB CORP</Value2>
       </CTAG>
       <CTAG>
          <CValue>500</Value1>
          <CName>BB HASH</Value2>
       </CTAG>
       <Details>
          <ValueA>200</ValueA>
          <ValueB>BALANCE</ValueAB>
       </Details>
       <Details>
          <ValueA>100</ValueA>
          <ValueB>CREDITOR</ValueAB>
       </Details>
    </SampleXML>

0 个答案:

没有答案