如何在Oracle SOA套件中操作xml数据?

时间:2013-01-29 05:28:46

标签: xslt jdeveloper bpel oracle-soa

<Employees manager="101" xmlns:ns1="http://www.example.org" xmlns="http://www.example.org">
            <ns1:person ssn="101">
                <ns1:firstName>Lakshminarayana</ns1:firstName>
                <ns1:lastName>medikoda</ns1:lastName>
            </ns1:person>
            <ns1:person ssn="102">
                <ns1:firstName>narasimha</ns1:firstName>
                <ns1:lastName>mannepalli</ns1:lastName>
            </ns1:person>

            <ns1:person ssn="103">
                <ns1:firstName>venu</ns1:firstName>
                <ns1:lastName>ponakala</ns1:lastName>
            </ns1:person>
</Employees>

我想在oracle soa

中添加新记录并从此文件中删除一些记录

1 个答案:

答案 0 :(得分:0)

您不应该使用XSLT进行此调整,您应该在Assign活动中使用BPELX函数。 要将新记录附加到列表中,您应该执行以下操作

bpelx:附加

分配活动中的bpelx:append扩展使BPEL流程能够将一个变量,表达式或XML片段的内容附加到另一个变量的内容。

<bpel:assign> 
   <bpelx:append>
      <bpelx:from ... /> 
      <bpelx:to ... /> 
   </bpelx:append> 
</bpel:assign> 

以下示例将向您展示如何在示例中实现此功能。

<bpel:assign>
    <bpelx:append>
          <from variable="variableFrom" 
                query="variableFromQuery" />
          <to variable="variableTo"
                query="/ns1:Employees/ns1:person" />
    </bpelx:append> 
</bpel:assign>

要从队列中删除它,您应该

bpelx:删除分配活动中的扩展名使BPEL流程能够删除变量。

<bpel:assign> 
    <bpelx:remove>
       <bpelx:target variable="variableName" part="Employee" query="query to match node you want to remove" />
    </bpelx:remove> 
</bpel:assign>