[使用c#生成XML

问题描述 投票:-1回答:1

我的目标是以这种格式生成xml结构

<?xml version='1.0' encoding='UTF-8'?>
<return xmlns:rmas="value here" xmlns:xsi="value here" xsi:noNamespaceSchemaLocation="value here">
   <header>
      <return-code>""</return-code>
      <return-desc>""</return-desc>
      <as-at-date>""</as-at-date>
      <operator-code>""</operator-code>
   </header>
   <body>
         <scheme>
           <code>10050</code>
              <employer>
                    <empr-code></empr-code>
                    <data>
                       <serial-no />
                       <pin />
                       <employer-contribution />
                       <employee-contribution />
                       <voluntary-contribution />
                       <total-contribution />
                    </data>
               </employer>
        </scheme>
        <scheme>
           <code>10100</code>
              <employer>
                    <empr-code></empr-code>
                    <data>
                       <serial-no />
                       <pin />
                       <employer-contribution />
                       <employee-contribution />
                       <voluntary-contribution />
                       <total-contribution />
                    </data>
               </employer>
          </scheme>
          [...]
    </body>
  </return>

这是我正在使用的数据的示例

scheme-code emp-code        pin            empr-contr   empyee-contr    total   total-vol-cont
10050       PR0000395010    PEN200386572133 54777.28    43821.82       108599.1  10000  
10050       PR0000679771    PEN200629902715 65528.34    0              215528.34 150000 
10050       PR0000007340    PEN200629902715 0           65528.34       215528.34 150000 
10050       PU000035E001    PEN100786299723 10570.34    10570.34       21140.68  0      
10050       TCF000615630    PEN100786299723 12060.15    12060.16       24120.31  0      
10050       TCF000615630    PEN100786299723 12204.98    12204.99       24409.97  0      
10050       PR0000615630    PEN100144364216 10945.19    13681.49       24626.68  0      
10050       PR0000615630    PEN100453089112 14319.32    17899.15       32218.47  0      
10050       PR0000615630    PEN200742682512 13116.33    16395.41       29511.74  0      
10100       PRTEMP005022    PEN100940140007 792         990            1782      0  
10100       PRTEMP005022    PEN100799131715 2375        2970           5345      0
10100       PRTEMP005022    PEN100799212715 831.6       1039.5         1871.1    0  

[在body标签中,我想先按方案代码对代码进行分组,然后在代码内部,按该方案中的emp代码对数据进行分组,然后按数据(pin,empr-contr,empyee -contr ...)具有Empr代码。每个数据标签的序列号(int)将为0、1、2、3 ... T999,具体取决于父雇主标签中数据标签的数量。请在下面查看更多示例

<scheme>
  <code>10050</code>
  [...]
  <employer>
      <empr-code>PR0000615630</empr-code>
         <data>
            <serial-no>1</serial-no>
            <pin>PEN100144364216</pin>
            <employer-contribution>10945.19</employer-contribution>
            <employee-contribution>13681.49</employee-contribution>
            <voluntary-contribution>0.00</voluntary-contribution>
            <total>32218.47</total>
         </data>
         <data>
            <serial-no>2</serial-no>
            <pin>PEN100453089112</pin>
            <employer-contribution>14319.32</employer-contribution>
            <employee-contribution>17899.15/employee-contribution>
            <voluntary-contribution>0.00</voluntary-contribution>
            <total>32218.47</total>
         </data>
      <data>
         <serial-no>T9999</serial-no>
         <pin>PEN200742682512</pin>
         <employer-contribution>13116.33</employer-contribution>
         <employee-contribution>16395.41</employee-contribution>
         <voluntary-contribution>0.00</voluntary-contribution>
         <total>29511.74</total>
      </data>
 </employer>
 [...]
</scheme>

如何使用XMLDocument或XMLWriter生成它

c# sql-server xml xml-parsing
1个回答
1
投票
© www.soinside.com 2019 - 2024. All rights reserved.