java - 我应该如何从 xml 中的 Apache Jackrabbit 中的节点中提取属性?

标签 java jcr jackrabbit

我一直在玩这里的第三个例子 http://jackrabbit.apache.org/jcr/first-hops.html ,但是对我来说,仍然不清楚如何访问节点的属性。

在第一个屏幕截图中 Have access to jcr prop

我使用 IDE 中的调试器并计算了此表达式

session.getNode("/importxml/xhtml:html/xhtml:body/mathml:math/mathml:apply/mathml:apply[2]/mathml:apply[2]/mathml:cn").getProperty("jcr:xmltext/jcr:xmlcharacters").getString().trim();

您可以看到我如何访问“jcr:xmltest/jcr:xmlcharacters”并得到 2 个结果。 但是,当我尝试获取此信息、从节点中获取此属性时,我无法执行此屏幕截图中的操作。 Cannot get props

这是上面截图中的代码片段:

var node = session.getNode("/importxml/xhtml:html/xhtml:body/mathml:math/mathml:apply/mathml:apply[2]/mathml:apply[2]/mathml:cn");
var properties = node.getProperties();
List<string> result = new ArrayList<>();
while(properties.hasNext()) {
    Property property = properties.nextProperty();
    result.add(property.getString().trim());
}
return result;

您可以看到我如何仅获取包含“nt:unstructed”的值作为响应。

不幸的是,我在网上、Github 等上找不到很多代码示例,很多都已经过时了,而且也没有像 Scrapy 或其他库/框架那样的书籍。

提前谢谢您。

祝你有美好的一天!

戴维德

最佳答案

在第一种情况下,您正在查看以下属性:

/importxml/xhtml:html/xhtml:body/mathml:math/mathml:apply/mathml:apply[2]/mathml:apply[2]/mathml:cn/jcr:xmltext

第二种情况:

/importxml/xhtml:html/xhtml:body/mathml:math/mathml:apply/mathml:apply[2]/mathml:apply[2]/mathml:cn

注意不同的路径。

关于java - 我应该如何从 xml 中的 Apache Jackrabbit 中的节点中提取属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54386978/

相关文章:

maven-2 - maven 条件依赖

java - 单击 ViewPager 中的特定页面后如何跳转到另一个 Activity ?

java - 无法使用 GSON 将某些 JSON 解析为 JsonArray

java - web.xml 中的 resource-ref 标签是什么意思?

drupal - CMS - Alfresco、Magnolia、Drupal 和 Joomla 比较

java - jackrabbit:使用 NodeTypeManager 时出现 UnsupportedRepositoryOperationException

Java JCR 如何改变节点的顺序?

java - 如何知道调用的java程序的父类?

AEM 6.1 不显示发布环境中的复制日期和复制者

java - 连接到 AEM 6.0 JCR : Precondition Failed