XML文件与XSLT合并和求和

时间:2018-07-11 16:00:46

标签: xml xslt

我有一个XML文件1,它是 file1.xml

\

还有一个文件2,即 file2.xml

<?xml version="1.0"?>
<declaration>
  <employer>
     <fieldA A_id="432" A_datorat="5123967" A_plata="5123967"/>
     <fieldA A_id="600" A_datorat="41967" A_plata="41967"/>
     <fieldF2 F2_id="180" F2_suma="24699" F2_deplata="24699"/>
     <fieldF2 F2_id="181" F2_suma="599" F2_deplata="599"/>
  </employer>
  <employee idAsig="1" name="GHEORGHE">
    <employeeA SOMEMOREDATA/>
  </employee>
  <employee idAsig="2" name="JON">
    <employeeA SOMEMOREDATA/>
  </employee>
  <employee idAsig="3" name="MIKE">
    <employeeA SOMEMOREDATA/>
  </employee>
  <employee idAsig="4" name="WALTER">
    <employeeA SOMEMOREDATA/>
  </employee>
  </declaration>

我希望将两个文件合并为另一个已处理的XML文件。在用人单位中,我必须从两个文件中汇总具有A_id和F2_id的字段,例如5123967 + 267 = 5124234(此最终数字应在最终XML中)。

在员工中,我必须从第一个员工离开的地方开始,在最终XML中连续输出每个员工的数据。

最终的XML应该是这样的:

<?xml version="1.0" encoding="ISO-8859-1"?>
<declaration>
  <employer>
     <fieldA A_id="432" A_datorat="267" A_plata="267"/>
     <fieldA A_id="600" A_datorat="967" A_plata="967"/>
     <fieldF2 F2_id="180" F2_suma="899" F2_deplata="899"/>
     <fieldF2 F2_id="181" F2_suma="549" F2_deplata="549"/>
  </employer>
  <employee idAsig="1" name="ANDREW">
    <employeeA SOMEMOREDATA/>
  </employee>
  <employee idAsig="2" name="BOBBY">
    <employeeA SOMEMOREDATA/>
  </employee>
</declaration>

我真的很陌生,到目前为止,我设法合并了employee中的数据,但是我不能将计数从4开始一直保持不变,所以它们是这样的:

<?xml version="1.0" encoding="ISO-8859-1"?>
<declaration>
  <employer>
     <fieldA A_id="432" A_datorat="5124234" A_plata="5124234"/>
     <fieldA A_id="600" A_datorat="42934" A_plata="42934"/>
     <fieldF2 F2_id="180" F2_suma="25598" F2_deplata="25598"/>
     <fieldF2 F2_id="181" F2_suma="1148" F2_deplata="1148"/>
  </employer>
  <employee idAsig="1" name="GHEORGHE">
    <employeeA SOMEMOREDATA/>
  </employee>
  <employee idAsig="2" name="JON">
    <employeeA SOMEMOREDATA/>
  </employee>
  <employee idAsig="3" name="MIKE">
    <employeeA SOMEMOREDATA/>
  </employee>
  <employee idAsig="4" name="WALTER">
    <employeeA SOMEMOREDATA/>
  </employee>
  <employee idAsig="5" name="ANDREW">
    <employeeA SOMEMOREDATA/>
  </employee>
  <employee idAsig="6" name="BOBBY">
    <employeeA SOMEMOREDATA/>
  </employee>
  </declaration>

对于计算总和,我什至不知道如何开始。我在过程编程方面有经验,但是声明性的内容使我发疯。希望有人可以指出正确的方向。任何帮助表示赞赏。非常感谢。

0 个答案:

没有答案