我正在使用Xpath过滤器过滤掉一些传入的事件。
这是我的示例输入xml。我需要通过允许fieldC值为1,2,3,6或7的事件来过滤fieldC的值。
<?xml version="1.0" encoding="UTF-8"?>
<add>
<doc>
<field name="fieldA">453.97</field>
<field name="fieldB">278.25</field>
<field name="fieldC">3</field>
<field name="fieldD">Agent</field>
<field name="fieldE">Mobile Site</field>
<field name="fieldF">Cancel</field>
<field name="fieldG">2015-09-14T13:17:21.000Z</field>
</doc>
</add>
Xpath已尝试:
/ add / doc / field [@ name ='fieldC'] / text()
/ add / doc / field [@ name ='fieldC']
<int:chain input-channel="channelIn" output-channel="channelOut">
<int-xml:xpath-filter id="filterEvents" match-value="3" match-type="exact">
<int-xml:xpath-expression expression="/add/doc/field[@name='fieldC']/text()" />
</int-xml:xpath-filter>
</int-xml:xpath-filter>
</int:chain>
按匹配类型“精确”进行过滤有效,但使用正则表达式无法正常使用。
正则表达式已尝试:/ ^(1 | 2 | 3 | 6 | 7)$ /
任何帮助,将不胜感激。
您的正则表达式语法错误;失去了/
...
match-value="^(1|2|3|6|7)$" match-type="regex"
...对我来说很好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句