如何在Mule Anypoint中拆分XML?
更新: 我找到了问题所在,但我可以解决分歧问题。由于XML拆分器中的如何在Mule Anypoint中拆分XML?,mule,Mule,更新: 我找到了问题所在,但我可以解决分歧问题。由于XML拆分器中的命名空间未计算拆分表达式 WARN 2014-09-10 15:30:27,181 [[user_provisions_-_xml_post].user_provisions_-_xml_postFlow1.stage1.02] org.mule.routing.ExpressionSplitter: Splitter returned no results. If this is not expected, please c
命名空间
未计算拆分表达式
WARN 2014-09-10 15:30:27,181 [[user_provisions_-_xml_post].user_provisions_-_xml_postFlow1.stage1.02] org.mule.routing.ExpressionSplitter: Splitter returned no results. If this is not expected, please check your split expression
34567
试验
管理
萨哈克
千牛
12345
试验
管理
阿伦
古玛
如果我删除xmlns=”http://www.cpscreen.com/schemas“
它正在拆分为多个
如果xml中有名称空间,如何添加spit表达式?您应该在文件入站端点之后直接使用拆分器。。。 此表达式用于拆分CSV文件:-
<?xml version="1.0" encoding="UTF-8"?>
<UpdateUserRequests xmlns="http://www.cpscreen.com/schemas">
<UpdateUserRequest userId="Test" account="Test" password="Test">
<User>
<Account id="4">34567</Account>
<UserId>Test</UserId>
<Profile>Admin</Profile>
<PersonName>
<GivenName>Sahak</GivenName>
<FamilyName>Kn</FamilyName>
</PersonName>
</User>
</UpdateUserRequest>
<UpdateUserRequest userId="Test" account="Test" password="Test">
<User>
<Account id="5">12345</Account>
<UserId>Test</UserId>
<Profile>Admin</Profile>
<PersonName>
<GivenName>Arun</GivenName>
<FamilyName>Kumar</FamilyName>
</PersonName>
</User>
</UpdateUserRequest>
</UpdateUserRequests>
如果您的CSV文件有一个列标题,如名称、年龄等。。您可以使用以下选项:-
<splitter expression="#[StringUtils.split(message.payload, '\n\r')]" doc:name="Splitter_For_MultipleRow"/>
使用以下表达式将xml与命名空间拆分
<splitter expression="#[rows=StringUtils.split(message.payload, '\n\r');ArrayUtils.subarray(rows,1,rows.size())]" doc:name="Splitter_For_MultipleRow"></splitter>
考虑到Mule MXL名称空间管理器中添加了“ns0”名称空间,上述表达式起作用
希望这有帮助。我不能这样做,因为我正在将CSV数据发送到其他ESB(因为Mule data mapper是付费的),它会返回xml。我需要拆分xml并读取我所面临的问题。。更新了项目。xml中存在名称空间,这就是它没有拆分的原因
<splitter expression="#[rows=StringUtils.split(message.payload, '\n\r');ArrayUtils.subarray(rows,1,rows.size())]" doc:name="Splitter_For_MultipleRow"></splitter>
<splitter expression="#[xpath('//ns0:UpdateUserRequest')]" doc:name="Splitter"/>