Невозможно получить данные из вложенных тегов xml с помощью smooks - PullRequest
0 голосов
/ 09 марта 2020

Я новичок в Freemarker, и я пытаюсь получить доступ к данным из вложенных тегов xml. Я не могу получить данные правильным способом. Ниже приведен вывод Xml

</SLSRPT>
<Segment_group_7>
<Line_item>
<Line_item_number>1</Line_item_number>
<ITEM_NUMBER_IDENTIFICATION>
<Item_number>0886668940014</Item_number>
<Item_number_type__coded>EN</Item_number_type__coded>
</ITEM_NUMBER_IDENTIFICATION>
</Line_item>
<Additional_product_id>
<ITEM_NUMBER_IDENTIFICATION_-_-1>
<Item_number>488609000612043</Item_number>
<Item_number_type__coded>IN</Item_number_type__coded>
</ITEM_NUMBER_IDENTIFICATION_-_-1>
</Additional_product_id>
<Segment_group_8>
<Quantity>
<QUANTITY_DETAILS>
<Quantity_qualifier>153</Quantity_qualifier>
<Quantity>1</Quantity>
<Measure_unit_qualifier>PCE</Measure_unit_qualifier>
</QUANTITY_DETAILS>
</Quantity>
</Segment_group_8>
</Segment_group_7>
</Segment_group_5>
</SLSRPT>

, который мне нужен: 0886668940014 | 488609000612043 | 1, а вывод 488609000612043 | 488609000612043 | 1

Ниже мой код:

 <resource-config selector="SLSRPT,Segment_group_5,Segment_group_7,Segment_group_8,Item_number,Quantity">
    <resource>org.milyn.delivery.DomModelCreator</resource>
    </resource-config>
    <ftl:freemarker applyOnElement="SLSRPT">
    <ftl:template><![CDATA[Item_number|Item_number_1|Qty
    <?TEMPLATE-SPLIT-PI?>]]>
    </ftl:template>
    </ftl:freemarker>
    <ftl:freemarker applyOnElement="Segment_group_5">
    <ftl:template><![CDATA[<#list .vars["Item_number"] as upc><#list .vars["Item_number"] as upc1><#list .vars["Quantity"] as qty>
     <#if upc?has_content>${upc}|${upc1}|${qty}
    <#else > |
    </#if>
    </#list>
    </#list>
    </#list>]]>
    </ftl:template>
    </ftl:freemarker>
    </smooks-resource-list>

Пожалуйста, помогите мне исправить это

...