我正在使用Xpath Filter过滤掉一些传入的事件。
这是我的示例输入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()
/添加/ DOC /字段[@名称= '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>
按匹配类型“完全”过滤,但我无法使用正则表达式。
Regex尝试:/ ^(1 | 2 | 3 | 6 | 7)$ /
任何帮助都将不胜感激。
答案 0 :(得分:0)
你的正则表达式语法错误;丢失/
s ...
match-value="^(1|2|3|6|7)$" match-type="regex"
......对我来说很好。