请帮助解决这张地图。这里我有带有 HDR、DTL、FTR 的 XML;DTL 具有成对的 ITEM-BANK、ITEM-BANK、ITEM-BANK 详细信息。我需要将其展平以输出一条记录。
业务规则: 1) 如果 ID 元素为空,则为 COMMENT,并且将在 COMMENT 输出 XML 中聚合“Party 的地址 + Party 的邮政编码 + Party 的 Postbus”。2)如果ID是BANK那么它有银行详细信息,并且TAG元素ID有ID值参考上面的ITEM。
XSD POCProducts:http ://pastebin.com/XNaq40vZ
POC 地图:
预期/通缉:
<ns0:PRODUCTS xmlns:ns0="http://TEST.Schema.FlatFile.POCProducts">
<PRODUCT ProdName="Wonder Power" ProdDesc="Wonder power DESC">
<ITEMS>
<ITEMS>
<ID>1010</ID>
<CODE>KG</CODE>
<UNIT>C0001</UNIT>
<DESC>Wonder Power 10*10ml</DESC>
<BankCode>A1</BankCode>
<BankDesc>Bank XXXX Code</BankDesc>
</ITEMS>
<ITEMS>
<ID>2020</ID>
<CODE>KG</CODE>
<UNIT>C0001</UNIT>
<DESC>Wonder Supper 50*50ml</DESC>
<BankCode>A2</BankCode>
<BankDesc>Bank yyyyy Code</BankDesc>
</ITEMS>
</ITEMS>
<VAT>5390</VAT>
<AMT>880099</AMT>
<Comment>Address of Party + Zipcode of Party + Postbus of Party</Comment>
</PRODUCT>
</ns0:PRODUCTS>
当前输出 XML:
<ns0:PRODUCTS xmlns:ns0="http://TEST.FlatFile.POCProducts">
<PRODUCT ProdName="Wonder Power" ProdDesc="Wonder power DESC">
<ITEMS>
<ITEMS>
<ID>1010</ID>
<CODE>KG</CODE>
<UNIT>C0001</UNIT>
<DESC>Wonder Power 10*10ml</DESC>
</ITEMS>
<ITEMS>
<ID>2020</ID>
<CODE>KG</CODE>
<UNIT>C0001</UNIT>
<DESC>Wonder Supper 50*50ml</DESC>
</ITEMS>
</ITEMS>
<VAT>5390</VAT>
<AMT>880099</AMT>
<Comments>Address of Party</Comments>
<Comments>Zipcode of Party</Comments>
<Comments>Postbus of Party</Comments>
</PRODUCT>
</ns0:PRODUCTS>
输入 XML:
<POC xmlns="http://TEST.Schema.FlatFile.POC">
<HDR xmlns="">
<ProdName>Wonder Power</ProdName>
<ProdDesc>Wonder power DESC</ProdDesc>
<Filler></Filler>
</HDR>
<DTL xmlns="">
<ID>1010</ID>
<CODE>KG</CODE>
<TAG>C0001</TAG>
<DESC>Wonder Power 10*10ml</DESC>
<FILLER></FILLER>
</DTL>
<DTL xmlns="">
<ID>BANK</ID>
<CODE>A1</CODE>
<TAG>1010</TAG>
<DESC>Bank XXXX Code</DESC>
<FILLER></FILLER>
</DTL>
<DTL xmlns="">
<ID>2020</ID>
<CODE>KG</CODE>
<TAG>C0001</TAG>
<DESC>Wonder Supper 50*50ml</DESC>
<FILLER></FILLER>
</DTL>
<DTL xmlns="">
<ID>BANK</ID>
<CODE>A2</CODE>
<TAG>2020</TAG>
<DESC>Bank yyyyy Code</DESC>
<FILLER></FILLER>
</DTL>
<DTL xmlns="">
<ID></ID>
<CODE></CODE>
<TAG>Address of Party</TAG>
<DESC></DESC>
<FILLER></FILLER>
</DTL>
<DTL xmlns="">
<ID></ID>
<CODE></CODE>
<TAG></TAG>
<DESC>Zipcode of Party</DESC>
<FILLER></FILLER>
</DTL>
<DTL xmlns="">
<ID></ID>
<CODE></CODE>
<TAG></TAG>
<DESC>Postbus of Party</DESC>
<FILLER></FILLER>
</DTL>
<FTR xmlns="">
<VAT>5390</VAT>
<TOTAL>880099</TOTAL>
<FILLER></FILLER>
</FTR>
</POC>