2017-05-31 91 views
0

输入XML可以改变,如果说下面的XML即将作为输入:基于映射文件创建动态XML

<Root> 
    <Fruits></Fruits> 
    <FruitsName> 
     <Apple></Apple> 
     <Mango></Mango> 
    </FruitsName> 
</Root> 

比输出应生成。 这里说Fruits将被映射到F1FruitsName将被映射到FNApple将被映射为AppMango将与Man映射,它将出现在属性文件中。

输出:

<Root> 
    <F1> </F1> 
    <FN> 
     <App></App> 
     <Man></Man> 
    </FN> 
</Root> 

现在,如果输入的XML具有比XML应当基于 映射文件来生成不同的标记/属性文件。

+0

什么是你的问题? –

+0

使用dom解析器https://www.mkyong.com/java/how-to-modify-xml-file-in-java-dom-parser/ –

+0

不是一个非常明确的问题,但这看起来像XSLT的任务之一是为...创造 –

回答

0

您正在执行XML到XMl的转换。 您可以利用XSLT来实现输出。 谢谢!

0

可以实现使用下面这个简单的dataweave脚本:如您所愿

%dw 1.0 
%output application/xml 
--- 
{ 
Root:{ 
F1: payload.Root.Fruits, 
FN:{ 
App: payload.Root.FruitsName.Apple, 
Man: payload.Root.FruitsName.Mango 
} 
} 
} 

输出:

<?xml version='1.0' encoding='windows-1252'?> 
<Root> 
    <F1></F1> 
    <FN> 
    <App></App> 
    <Man></Man> 
    </FN> 
</Root>