- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我在处理大量 XML 消息的企业架构中工作。我们最近被要求对这些 XML 消息中包含的数据执行一些计算,并在将消息从企业传递到外部消费者之前将一些结果添加到消息头中。我们的架构基于 JBoss SOA-P,我目前正在评估 JBoss Drools 5.2.0 以执行这些消息操作。
我知道我可以简单地将 XML 中的 POJO 组合起来,对其执行规则,然后添加适当的结果。但是,如果可能的话,我想消除对 XML 消息结构的编译时依赖性,因为围绕模式的动态要求以及将新编译代码部署到我们的生产环境中的重大障碍(阅读:繁文tape节)。理想情况下,我希望对 .drl 规则中的原始 XML 使用 XPath 评估。一些搜索出现了 SXC项目,这似乎正是我所需要的,但关于如何使用它的信息很少,而且它似乎自 2007 年以来一直处于休眠状态。此外,它是针对 Drools 4.0.4 编译的,我需要使用 5.2。 0.
有谁知道在 Drools 规则中根据 XML 评估 XPath 表达式的好方法?也欢迎使用允许在运行时在 Drools 规则中补偿 XML 结构更改的 XPath 替代方案。
谢谢!
最佳答案
不久前,我们有一位 Drools 专家来访我们公司并了解了 Drools。我正在开发一个包含许多不断变化的规则的服务,我们考虑使用 Drools。
专家告诉我们使用 Proxy-Objects 来包装 Drools 所需的数据。您可以尝试使用代理对象,在其中放置 XML 和一些方法。当 Drools 尝试评估 Proxy-Object 时,它实际上正在评估您的 XML。这有点脏 - 与 Drools 规范相比 - 因为当输入到 Drools 的工作内存中时对象不会保存数据,而是在被询问时提取数据。
我不是 Drools 方面的专家,但我看到的唯一选择是如您之前提到的那样“滋润 POJO”,根据 Drools 规范,这将是最好的选择。
关于xml - 在 JBoss Drools 中评估 XPath 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6698790/
编辑:为什么这被否决了?我真的不知道...顺便说一句 ../不起作用,因为我不想要 Table 的父级但实际上想要 ../td+1 我不知道这是否可能? 嗨,大家好。 我手头有一个相当复杂的问题..
我很难找到需要单击的输入(复选框)元素的 xpath。我正在尝试使用其他跨度元素来定位它。元素包含 Angular 属性,不知道这是否重要? 元素的结构如下: Company name
我正在尝试构建一个包含许多 XPath 作为参数的 DSL。我是 XPath 的新手,我需要一个 XPath 语法中从未使用过的字符,这样我就可以在脚本的一行中分隔 n 个 XPath。我的问题:哪些
使用xpath在父标签内找到特定标签: 输入样例:
我需要构造一个通用XPath来找到正确的节点,其中的标准是日期和时间。例如查找“ 5 May”,“ 12:17:44”的节点 XML具有日期和时间标签。 不方便地,日期标签仅在当天的第一次出现时填充。
我正在尝试获取xPath几个月内两个日期之间的差异。 几天之内我就没问题了(1127) days-from-duration(xs:date('2012-06-17')-xs:date('2009-0
我试图选择一个包含一段文本的元素,但是我不想选择包含该文本加上其他文本的元素。我通常会使用text()='abc def',但是这个特定元素在前后都包含空格。 这是一个示例片段:
亲爱的,您能帮我用这个XPATH吗?可以说我有以下HTML代码 text value1 value2 text 我需要构建一
我正在尝试提取带有排除项的 xpath,但无法执行此操作。 (//div[@class='row site country-names']/following-sibling::div)[1]/di
response.xpath('//*[@id="blah"]//text()') 假设我的html是 This is a simple text foo and this is after tag.
除了那些具有"//ul/li[not(@*)][count(*)=0]"父项的人以外,我需要全部接受。我已经尝试过,但是不幸的是它不起作用。 有谁知道,我该怎么处理? 提前致谢。 最佳答案 我认为您需
我使用XPath的问题是,每当我使用“子字符串”功能时,我只会得到一个匹配项,而我想全部获得它们。 另一个问题是,每当我使用“子字符串”和运算符的组合时它只是行不通(没有匹配项)。 例如:http:/
我正在尝试通过其位置和属性获取项目,但不知道如何做。 我要实现的是将这一点统一起来: Xpath("//h4/a[contains(@href,'#vuln_')]") 还有这个: Xpath
我有一个xpath如下: .//*[text()='Name:']/../child::select | .//*[text()='Name:']/../child::span 但是对我来说,它既不紧
我拼命试图在xpath中组合几个过滤器。假设我的数据如下所示: DELETE 1 This is my title my sh
我想在已经通过 xpath 设置的其他元素中使用 xpath 来指示元素的位置。 下面的一个已经通过 xpath 设置(我没有改变) //Base_Code
是否可以使用xpath直接在括号内抓取信息?还是以后再用正则表达式过滤? HTML如下所示: Product name (UN1QU3 C0D3) 使用以下Xpath表达式,我可以在此中获取所有内容:
我试图使用一个XPath表达式来选择一个节点,该节点的子节点与文档中的另一个节点匹配。 匹配将意味着该节点的所有属性都相同。因此,如果将一个节点与多个属性进行比较,则无法进行单独的属性比较。 作为示例
我想在 XPath 表达式中使用 Iverson 括号(即映射 true => 1,false => 0)。 示例:而不是书写 someNumber+(if(elem1/elem2[@attr='12
是否可以以类似方式选择节点? './tr[position() in (1, 3, 7)]' 我只找到以下解决方案: './tr[position() = 1 or position() = 3 or
我是一名优秀的程序员,十分优秀!