当前位置: 首页 > 知识库问答 >
问题:

希望在Apache Camel条件中编写自定义标记

东云
2023-03-14
        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <ns1:MSG xmlns:ns1="http://bean.stack.com/MSG">
            <ns1:field ns1:ID="EMP_NAME" ns1:Value="Slok"/>
            <ns1:field ns1:ID="EMP_ID" ns1:Value="ER1234"/>

        </ns1:MSG>
                <choice>
                    <when> 
                        <MSG>EMP_ID=='ER1234'</MSG>
                        <to uri="route to specific logic "/>
                    </when>
                </choice>

有时,XPath在...作为单独的文件下对我来说不起作用。所以决定这样做。我怎么才能做到这一点,任何建议...

共有1个答案

胡新
2023-03-14

这是不可能的,您不能仅仅在XML DSL中提出新的语法。您可以使用bean/method调用作为表达式,并在java类上调用方法,在java类中编写java代码作为谓词。

如果您想使用XML,那么XPath/XQuery可能是一个很好的选择,但是要使它们正确,可能会很棘手。注意名称空间和其他类型的东西。因此,花时间在XML工具中编写并测试您的表达式是否正确。

或者使用JAXB/JacksonXML、XStream或其他数据格式/库将XML编入POJO,并使用java代码或简单的/groovy表达式。

 类似资料:
  • 另外,如何对模板执行n1QL查询?我知道有一个方法,但我没有找到任何关于它的好文档。有人能解释一下这个怎么用吗?

  • 我想在日志文件的开头写入自定义头行。自定义头是日期/时间,XML文件名, 在log4j中,我可以通过扩展PatternLayout来创建自定义头。 我为自定义头包含了PatternLayout的log4j属性config和子类CustomFileHeaderLayout。工作很好。 log4j.属性

  • 本文向大家介绍详解JavaScript中的自定义事件编写,包括了详解JavaScript中的自定义事件编写的使用技巧和注意事项,需要的朋友参考一下 我们可以自定义事件来实现更灵活的开发,事件用好了可以是一件很强大的工具,基于事件的开发有很多优势(后面介绍)。 与自定义事件的函数有 Event、CustomEvent 和 dispatchEvent。 直接自定义事件,使用 Event 构造函数: C

  • 问题内容: 我目前正在开发的Android应用程序的主要活动已经变得非常大。这主要是因为它包含带有3个标签的。每个选项卡都有很多组件。活动必须一次控制所有这些组件。因此,我想您可以想象这个Activity有20个字段(几乎每个组件都有一个字段)。它还包含许多逻辑(单击侦听器,填充列表的逻辑等)。 我通常在基于组件的框架中所做的就是将所有内容拆分为自定义组件。每个自定义组件将承担明确的责任。它包含它

  • 在 imi 框架中,使用注解可以实现很多功能。比如:路由、模型定义、事务、缓存等等 除了内置的注解以外,如果编写属于自己的注解呢? 这篇教程就来教大家来编写属于自己的注解。 注解定义 注解扫描 imi 是常驻内存运行的,所以冷启动时采用了全量扫描的方式,来实现注解缓存。使用的时候,就和读取配置一样简单高效。 一般需要在配置文件里的beanScan中,配置注解类所在命名空间。在 imi 框架中,涉及

  • 有部分条件如 target_os 在使用 rustc 时会隐式地提供,但是自定义条件必须使用 --cfg 标记来传给 rustc。 #[cfg(some_condition)] fn conditional_function() { println!("condition met!") } fn main() { conditional_function(); } 不使用自定义的