如何使用smooks groovy将子元素附加到元素

如何使用smooks groovy将子元素附加到元素,groovy,smooks,Groovy,Smooks,我试图使用Groovy将Child附加到元素中。到目前为止,我还不能这样做 示例输入文件 Smooks配置文件 请清理你的行李request@govardhan-kamle说,在groovy控制台中发布可执行的代码会很有帮助。我很想帮忙,但我不使用Smook。坦率地说,我实在不值得花时间去弄清楚如何启动和运行Smook。但是我可以对可执行代码进行疑难解答:如果您精简了此处使用的示例消息,并显示了您尝试生成的标记类型以及使用groovy的原因,会更清楚吗?例如,作为转换的一部分,您是否需要执行某种

我试图使用Groovy将Child附加到元素中。到目前为止,我还不能这样做

示例输入文件 Smooks配置文件
请清理你的行李request@govardhan-kamle说,在groovy控制台中发布可执行的代码会很有帮助。我很想帮忙,但我不使用Smook。坦率地说,我实在不值得花时间去弄清楚如何启动和运行Smook。但是我可以对可执行代码进行疑难解答:如果您精简了此处使用的示例消息,并显示了您尝试生成的标记类型以及使用groovy的原因,会更清楚吗?例如,作为转换的一部分,您是否需要执行某种计算,这里有一个使用groovy的smooks脚本示例:是的,我知道了。谢谢
<?xml version="1.0"?>
<orders>
    <order res="0">
        <header>
            <date>Wed Nov 27 13:45:28 EST 2013</date>
            <customer number="9404089839">Harish Nanda M</customer>
        </header>
        <orderitems>
            <orderitem>
                <product>007</product>
                <quantity>7</quantity>
                <price>7.90</price>
            </orderitem>
            <orderitem>
                <product>005</product>
                <quantity>3</quantity>
                <price>7.20</price>
            </orderitem>
        </orderitems>
    </order>
    <order res="0">
        <header>
            <date>Wed Nov 27 13:45:28 EST 2013</date>
            <customer number="2036139296">Sandesh G</customer>
        </header>
        <orderitems>
            <orderitem>
                <product>0023</product>
                <quantity>87</quantity>
                <price>57.90</price>
            </orderitem>
            <orderitem>
                <product>005</product>
                <quantity>3</quantity>
                <price>7.20</price>
            </orderitem>
        </orderitems>
    </order>
</orders>
<?xml version="1.0"?>
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd" xmlns:core="http://www.milyn.org/xsd/smooks/smooks-core-1.3.xsd" xmlns:g="http://www.milyn.org/xsd/smooks/groovy-1.1.xsd">
    <core:filterSettings type="SAX"/>
    <g:groovy executeOnElement="order">
        <g:imports>
            import org.milyn.xml.DomUtils;  
            import org.milyn.javabean.context.BeanContext;  
            import org.milyn.javabean.repository.BeanRepository;    
            import org.w3c.dom.*;
            import groovy.xml.dom.DOMCategory;  
            import groovy.xml.dom.DOMUtil;
            import groovy.xml.DOMBuilder;   
            import groovy.util.XmlSlurper;
        </g:imports>
        <g:script>
            <!--    javax.xml.transform.dom.DOMSource source = new javax.xml.transform.dom.DOMSource(element); 
javax.xml.transform.Transformer transformer = javax.xml.transform.TransformerFactory.newInstance().newTransformer();
    javax.xml.transform.stream.StreamResult result = new
 javax.xml.transform.stream.StreamResult(new java.io.StringWriter()); 
    transformer.transform(source, result);  String ss = 
 result.getWriter().toString();     def ord = new
 XmlSlurper().parseText(ss)     //ord.xxxx = "2222";    println
 ord.orderitems.orderitem.product.text()*.toInteger().sum();
element.appendChild("res");     //element['@res'] = element.'@res'.toInteger() +    
 ord.orderitems.orderitem.product.text()*.toInteger().sum();
writeFragment(element);
-->
        </g:script>
    </g:groovy>
</smooks-resource-list>