问题标签 [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.
java - Jibx 与 JXPath 在性能方面的对比
处理一个处理大量 XML 文件并将其加载到 RDBMS 中的项目。在转换层,需要将 XML 文件转换为 java pojo ,丰富验证,然后插入 DB。
文件大小为 appx。10 KB
问题是,在转换层中使用哪个框架 1) JIBX(with woodstox) 2) jxpath Jxpath 可以方便地开发一个可配置的转换层,因为它是基于表达式的,我们可以根据条件动态评估路径。但另一方面,我担心性能。
我还没有尝试过这两种方法。感谢您的建议。
xslt - 使用 JXPATH 添加节点
我正在使用 jxpath 打印所有节点并将子节点添加到此 xml 中的功能标记
这就是我的代码的样子(至少可以工作的部分 - 它打印一些信息):
我要求的第一部分——打印这些节点——是微不足道的:
我要求的第二部分是我得到了什么
我需要添加一个新条目 --a new < feature >3</feature >节点 UNDER UNDER UNDER UNDER<features>
下< extract >
programatically
它可能类似于隔离该节点 - 然后向它添加一个子节点 - 我只是不知道如何去做:
任何想法/帮助将不胜感激
java - 如何在 jxpath 中使用 text()
你能得到一个 jxpath 元素的 text() 还是它不起作用?
给出了一些不错的 xml:
//不起作用:
//不起作用:
//不起作用:
我知道我可以从使用中获取文本
但这不是重点。不应该text()
工作吗?我找不到任何例子......
PS 大小写和大小写也很挑剔。你能以某种方式关闭它吗?
谢谢,-G
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 是错误的。
java - Apache Commons JXPath 搜索是否在 XPath 搜索期间编组对象?
我是表达式语言的新手,我想了解有关org.apache.commons.jxpath
实用程序的更多信息。但我想知道 JXPath 实用程序的实现。对象是否首先被封送,将应用 XPath 搜索,或者对象是否保持其原始状态,即没有封送它?
如果可能,请提供一些好的参考代码片段。
谢谢。
java - jxpath 的 Java 枚举
我有一些 jxpath,我想将它们放在一个枚举中,我将使用一个映射与 JSF 页面共享,该映射将使 EL 可以使用它们作为 jxpath 执行 createPathAndSetValue 的键。
然后我可以轻松地填写模型,而无需创建大量的 getter 和 setter。像这样:
我有这样的东西
我使用名称 isGiftJoin 或 billingAddress_postalCode 而不是大写名称,并在构造函数中将 _ 替换为 / (因此 xpath 属性是实际的 xpath)。只要所有属性的名称中都没有 _(它们没有),我就完成了。枚举不会是“大写”,但枚举并不是真正的常量,因为 RED 是一个常量。在这里,它们是指向数据的类的实例,并且不打算以这种方式“恒定”。
这些名称是否太奇怪和不标准?被链接到 C 风格的常量大写标准是愚蠢的吗?
java - 如何在 jxpath 中实现昂贵的查询?
想象一下,有人使用 JXPath 作为一种访问语言,访问一棵树,该树具有某些节点,这些节点表示在内存中保存的集合非常大或昂贵 - 例如,
客户确实在数据库中,并且数量众多。我不需要人们可以想象的所有查询的全部通用性——只需要像这样的几种索引良好的查询。
有没有一种实用的方法来使用 jxpath 的自定义功能来实现这些?如果是这样,你能指出我的例子、相关文档等吗?
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 实现这一目标?
欢迎和赞赏代码示例、博客链接或其他文档。
和以前一样,我非常感谢任何帮助。
java - Java JXPath 遍历 List
JXPath 通过空迭代器在 bean 列表中搜索 rateCode 值。
我有一个 bean 列表,我想在其中获取所有 rateCode=R1 的项目,下面是我的代码。
java - JXPath getValue 结果也包括以前搜索的结果
我正在使用 JXPathContext 使用 XPath 搜索 Java 对象。我有以下代码。班级部门有一个员工集合。
例如,我第一次调用部门 HR,然后第二次调用 Accounts。第二次调用后返回的列表将包含来自 Accounts 和 HR 部门的员工。