【发布时间】:2018-11-27 21:54:02
【问题描述】:
这是我的源 XML
<request>
<applicationVersion>agidmp-5.0.0.0</applicationVersion>
<serviceName>changeRequestService</serviceName>
<changes>
<change>
<entityName>ChangeRequest</entityName>
<path>ChangeRequest--4</path>
<operation>a</operation>
<values>
<changeRequestName>ChangeRequest-CR-007</changeRequestName>
<changeRequestNumber>ChangeRequest-CR-007</changeRequestNumber>
<changeRequestUID>ChangeRequest-CR-007</changeRequestUID>
<productCategory>20984</productCategory>
<requestCategory.recordId>20032</requestCategory.recordId>
<sourceSystem.recordId>20048</sourceSystem.recordId>
<scopeDescription> Minimum age limit:15Years</scopeDescription>
</values>
</change>
<change>
<entityName>ChangeRequestScopeCountry</entityName>
<path>ChangeRequest--4.changeRequestCountryList--7</path>
<operation>a</operation>
<values>
<country.recordId>IND</country.recordId>
</values>
</change>
<change>
<entityName>ChangeRequestScopeCountry</entityName>
<path>ChangeRequest--4.changeRequestCountryList--8</path>
<operation>a</operation>
<values>
<country.recordId>AFG</country.recordId>
</values>
</change>
<change>
<entityName>ChangeRequestScopeCountry</entityName>
<path>ChangeRequest--4.changeRequestCountryList--9</path>
<operation>a</operation>
<values>
<country.recordId>AUT</country.recordId>
</values>
</change>
<change>
<path>ChangeRequest--4.submissionRequestScopeStudyProgramList--5</path>
<operation>a</operation>
<entityName>SubmissionRequestScopeStudyAndProgram</entityName>
<values>
<invStudy.recordId>40037</invStudy.recordId>
</values>
</change>
</changes>
我想替换以下路径中的标签值:/soapenv:Body/request/changes/change/values/country.recordId
我尝试使用丰富的中介替换属性。但它不会更改我的源 XML 中的任何标记值。请提出任何方法来实现这一点 我的目标 xml 应该是 Like
<soapenv:Body xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<request>
<applicationVersion>agidmp-5.0.0.0</applicationVersion>
<serviceName>changeRequestService</serviceName>
<changes>
<change>
<entityName>ChangeRequest</entityName>
<path>ChangeRequest--4</path>
<operation>a</operation>
<values>
<changeRequestName>ChangeRequest-CR-007</changeRequestName>
<changeRequestNumber>ChangeRequest-CR-007</changeRequestNumber>
<changeRequestUID>ChangeRequest-CR-007</changeRequestUID>
<productCategory>20984</productCategory>
<requestCategory.recordId>20032</requestCategory.recordId>
<sourceSystem.recordId>20048</sourceSystem.recordId>
<scopeDescription> Minimum age limit:15Years</scopeDescription>
</values>
</change>
<change>
<entityName>ChangeRequestScopeCountry</entityName>
<path>ChangeRequest--4.changeRequestCountryList--7</path>
<operation>a</operation>
<values>
<country.recordId>1234</country.recordId>
</values>
</change>
<change>
<entityName>ChangeRequestScopeCountry</entityName>
<path>ChangeRequest--4.changeRequestCountryList--8</path>
<operation>a</operation>
<values>
<country.recordId>1235</country.recordId>
</values>
</change>
<change>
<entityName>ChangeRequestScopeCountry</entityName>
<path>ChangeRequest--4.changeRequestCountryList--9</path>
<operation>a</operation>
<values>
<country.recordId>1236</country.recordId>
</values>
</change>
<change>
<path>ChangeRequest--4.submissionRequestScopeStudyProgramList--5</path>
<operation>a</operation>
<entityName>SubmissionRequestScopeStudyAndProgram</entityName>
<values>
<invStudy.recordId>40037</invStudy.recordId>
</values>
</change>
</changes>
</request>
</soapenv:Body>
是否可以通过添加一些 javascript 代码或在 wso2 调解器中使用 xQuery 来做到这一点。 提前致谢。
【问题讨论】:
标签: xml xslt integration wso2esb