我想合并两个xml文档。
$ input(简化)
<StudentData>
<Header>
<Info></Info>
</Header>
<Source>
<Sinfo></Sinfo>
</Source>
<Student>
<Fname></Fname>
<Mname></Mname>
<Lname></Lname>
<age></age>
<email></email>
<subject> <!-- Repeatable -->
<name></name>
<avg_marks></avg_marks>
</subject>
<Hobby> <!-- Repeatable -->
<name></name>
<desc></desc>
</Hobby>
</Student>
</StudentData>
示例来源(文件B)
<StudentData>
<Header>
<Info>This gives basic information</Info>
</Header>
<Student>
<Fname>Walter</Fname>
<Lname>White</Lname>
<age>56</age>
<email>whwhite@xyz.com</email>
<subject>
<name>MATHS</name>
<avg_marks>80</avg_marks>
</subject>
<subject>
<name>CHEMISTRY</name>
<avg_marks>100</avg_marks>
</subject>
<subject>
<name>PHYSICS</name>
<avg_marks>78</avg_marks>
</subject>
<Hobby>
<name>Reading</name>
</Hobby>
<Hobby>
<name>SOCCER</name>
</Hobby>
</Student>
</StudentData>
O / P
<StudentData>
<Header>
<Info>This gives basic information</Info>
</Header>
<Source> <!-- Added as empty tags as it is not present in Source -->
<Sinfo></Sinfo>
</Source>
<Student>
<Fname>Walter</Fname>
<Mname></Mname>
<Lname>White</Lname>
<age>56</age>
<email>whwhite@xyz.com</email>
<subject>
<name>MATHS</name>
<avg_marks>80</avg_marks>
</subject>
<subject>
<name>CHEMISTRY</name>
<avg_marks>100</avg_marks>
</subject>
<subject>
<name>PHYSICS</name>
<avg_marks>78</avg_marks>
</subject>
<Hobby>
<name>Reading</name>
<desc></desc>
</Hobby>
<Hobby>
<name>SOCCER</name>
<desc></desc>
</Hobby>
</Student>
</StudentData>
如果源(doc B)不包含该元素,则o / p应包含空标记。
我正在使用Oracle Service Bus。来源(doc b)将可直接访问。可以使用$ input访问文档A.
例如,学生Fname可以通过以下方式访问:
$input/StudentData/Student/Fname
有没有简单的方法可以做到这一点?提前谢谢。