问题标签 [jxpath]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
423 浏览

java - Jibx 与 JXPath 在性能方面的对比

处理一个处理大量 XML 文件并将其加载到 RDBMS 中的项目。在转换层,需要将 XML 文件转换为 java pojo ,丰富验证,然后插入 DB。

文件大小为 appx。10 KB

问题是,在转换层中使用哪个框架 1) JIBX(with woodstox) 2) jxpath Jxpath 可以方便地开发一个可配置的转换层,因为它是基于表达式的,我们可以根据条件动态评估路径。但另一方面,我担心性能。

我还没有尝试过这两种方法。感谢您的建议。

0 投票
1 回答
276 浏览

xslt - 使用 JXPATH 添加节点

我正在使用 jxpath 打印所有节点并将子节点添加到此 xml 中的功能标记

这就是我的代码的样子(至少可以工作的部分 - 它打印一些信息):

我要求的第一部分——打印这些节点——是微不足道的:

我要求的第二部分是我得到了什么

我需要添加一个新条目 --a new < feature >3</feature >节点 UNDER UNDER UNDER UNDER<features>< extract >programatically

它可能类似于隔离该节点 - 然后向它​​添加一个子节点 - 我只是不知道如何去做:

任何想法/帮助将不胜感激

0 投票
2 回答
600 浏览

java - 如何在 jxpath 中使用 text()

你能得到一个 jxpath 元素的 text() 还是它不起作用?

给出了一些不错的 xml:

//不起作用:

//不起作用:

//不起作用:

我知道我可以从使用中获取文本

但这不是重点。不应该text()工作吗?我找不到任何例子......

PS 大小写和大小写也很挑剔。你能以某种方式关闭它吗?

谢谢,-G

0 投票
1 回答
1402 浏览

java - 在 JXPath 中使用 // 运算符

一些根对象有 field MyCollection myCollection。该类MyCollection实现Collection接口。元素的名称可以通过调用获得someService().getName(),这就是我创建Rules类的原因。

context.getValue("/myCollection"); 返回 myCollection - 好的

context.getValue("//myCollection"); 返回 myCollection - 好的

context.getValue("/myCollection/.[rules:getName() = 'secondName']");返回返回“secondName”IMyNode的 实例- OKsomeService().getName()

行后 context.getValue("/myCollection//.[rules:getName() = 'secondName']"); 不执行下一行。也不例外,并且没有设置宽松模式。我不明白发生了什么事。第 8 行的Rules类打印"POINTER SET ON /myCollection[1]"。我想在这个例子中得到的元素是 in /myCollection[2]

这是获取元素名称的地方。我认为这堂课是正确的。

编辑: 这个问题是关于JXPath的。我添加标签 xpath 而不是 jxpath 是错误的。

0 投票
1 回答
182 浏览

java - Apache Commons JXPath 搜索是否在 XPath 搜索期间编组对象?

我是表达式语言的新手,我想了解有关org.apache.commons.jxpath实用程序的更多信息。但我想知道 JXPath 实用程序的实现。对象是否首先被封送,将应用 XPath 搜索,或者对象是否保持其原始状态,即没有封送它?

如果可能,请提供一些好的参考代码片段。

谢谢。

0 投票
1 回答
562 浏览

java - jxpath 的 Java 枚举

我有一些 jxpath,我想将它们放在一个枚举中,我将使用一个映射与 JSF 页面共享,该映射将使 EL 可以使用它们作为 jxpath 执行 createPathAndSetValue 的键。

然后我可以轻松地填写模型,而无需创建大量的 getter 和 setter。像这样:

我有这样的东西

我使用名称 isGiftJoin 或 billingAddress_postalCode 而不是大写名称,并在构造函数中将 _ 替换为 / (因此 xpath 属性是实际的 xpath)。只要所有属性的名称中都没有 _(它们没有),我就完成了。枚举不会是“大写”,但枚举并不是真正的常量,因为 RED 是一个常量。在这里,它们是指向数据的类的实例,并且不打算以这种方式“恒定”。

这些名称是否太奇怪和不标准?被链接到 C 风格的常量大写标准是愚蠢的吗?

0 投票
1 回答
126 浏览

java - 如何在 jxpath 中实现昂贵的查询?

想象一下,有人使用 JXPath 作为一种访问语言,访问一棵树,该树具有某些节点,这些节点表示在内存中保存的集合非常大或昂贵 - 例如,

客户确实在数据库中,并且数量众多。我不需要人们可以想象的所有查询的全部通用性——只需要像这样的几种索引良好的查询。

有没有一种实用的方法来使用 jxpath 的自定义功能来实现这些?如果是这样,你能指出我的例子、相关文档等吗?

0 投票
1 回答
814 浏览

java - 超类中的 jXPath 查询属性

我有几个域类都继承了 BaseDomain 类。

在这个 BaseDomain 类中,我有一个公共最终字符串名称字段;

name 的值在构造函数中设置。

这个 BaseDomain 由几个类扩展

到目前为止,一切都很好。

我想在 JXPath 的帮助下获取 Trip 的对象实例中字段“名称”的值,但不能。我可以访问“id”字段,但不能访问“name”字段。

是否可以使用此设置和 JXPath 获取“名称”的值?

代码可能有一些语法错误和/或其他错误。我希望你们都明白我的想法并理解我的问题。

欢迎任何帮助或指示。

首先:我要感谢 Kelly S. French 的快速回放。这让我意识到我必须解释更多。

我想使用 jxpath,因为我最终会进行更深入的搜索。例如:Trip 可能包含一个位置列表,该列表也扩展了 BaseDomain。每个位置都可以包含扩展 BaseDomain 的 PointOfInterest 列表。

通过代码其他部分的反射,我希望能够根据它们的类型(class.getCanonicalName())获取 BaseDomain 列表

对象树不是基于 xml,它是纯 POJO。

据我所知,没有办法编写 jxpath-query 来根据对象的类型、类名等查找对象列表。

这个对吗?有人知道这样做的方法吗?

最简单的方法,即使它很丑陋,也是在超类中拥有一个包含类名的字段。这就是为什么我做了这个丑陋的解决方案。

最终,我想创建一个基于行程的 jxpath 查询返回一个迭代器,该迭代器是任何深度的 BaseDomain 实例,而不取决于节点位于对象树中的哪个分支,只要我能获取我正在寻找的对象的类名。

有谁知道是否可以通过 jxpath-query 实现这一目标?

欢迎和赞赏代码示例、博客链接或其他文档。

和以前一样,我非常感谢任何帮助。

0 投票
1 回答
531 浏览

java - Java JXPath 遍历 List

JXPath 通过空迭代器在 bean 列表中搜索 rateCode 值。

我有一个 bean 列表,我想在其中获取所有 rateCode=R1 的项目,下面是我的代码。

0 投票
1 回答
129 浏览

java - JXPath getValue 结果也包括以前搜索的结果

我正在使用 JXPathContext 使用 XPath 搜索 Java 对象。我有以下代码。班级部门有一个员工集合。

例如,我第一次调用部门 HR,然后第二次调用 Accounts。第二次调用后返回的列表将包含来自 Accounts 和 HR 部门的员工。