问题标签 [jdom-2]

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 回答
452 浏览

xml - 如何将 xml-stylesheet 应用于 JDOM2 文档

假设您已经使用 JDOM2 库构建了 XML 文档。什么是添加 xml-stylesheet 以获得类似的 API:

0 投票
2 回答
1721 浏览

android - Android下用JDOM2解析XML文件

我在使用 JDOM2 库(确切地说是 2.0.5)解析 Android 应用程序中的 XML 文件时遇到了问题。

在 Java 项目中,它工作正常,但在 Android 应用程序项目中,我收到以下消息:“无法打开http://jeancdc.perso.sfr.fr/fichierXML.xml

这是我的 XMLReader 类:

我的主要课程:

这是我在日志中获得的异常跟踪的一部分:

0 投票
1 回答
975 浏览

xmlunit - 比较两个 JDOM2 文档是否相等

我有一个使用 JDOM2 库生成 XML 文档的应用程序。在我的单元/集成测试中,我需要将生成的文档与手工制作的示例文档进行比较,以确定是否相等。

使用标准的 org.w3c.dom.Document 对象,我会通过 XMLUnit 来实现。如何用 JDOM2 做到这一点?

0 投票
1 回答
1003 浏览

jdom - 使用禁用输出转义 PI 集转义 JDOM 2 中的属性值

我在孵化 Apache JSPWiki 团队并尝试将我们的项目从 JDOM 1.1.2 升级到 JDOM 2.0.5。98% 的转换似乎工作正常,但我遇到了一个阻止我们升级的问题,涉及 JDOM2 的 XMLOutputter.outputElementContent()。也就是说,我们总是添加一个处理指令来禁用输出转义,但我们仍然希望属性中的 & 和引号被转义为 & 和“。JDOM1 按照我们的意愿处理这个 PI,但是 JDOM2 解释这个指令来关闭属性值中的输出转义。我不确定这是否是 JDOM2 中的错误/功能,或者 JSPWiki 是否不正确地依赖于 JDOM1 中的错误/功能。[1] 展示了我们在调用 outputElementContent() 之前如何在 JSPWiki 中配置 Format 元素。

例如,在 JDOM1 中:

呈现为:

这是因为在 JDOM1 中,无论处理指令如何,XMLOutputter.printAttibutes()[2] 都会对属性值进行转义。

但在 JDOM2 中,我们得到:

...因为在 JDOM2 中,AbstractXMLOutputProcessor 的 attributeEscapedEntitiesFilter[3] 只有在“getEscapeOutput()”为真时才会进行转义,但如果设置了 disable-output-escaping PI,getEscapeOutput 会自动设置为 false[4]。

如果我们调用 Format.setIgnoreTrAXEscapingPIs() (或者只是不添加禁用输出转义 PI 开始),我们最终会遇到标签被转义的相反问题。

谁能为我们想出一个好的/简单的解决方案?

谢谢,格伦

[1] http://svn.apache.org/viewvc/incubator/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/render/XHTMLRenderer.java?revision=1486481&view=markup#l56

[2] http://grepcode.com/file/repo1.maven.org/maven2/org.jdom/jdom/1.1/org/jdom/output/XMLOutputter.java#1132

[3] http://grepcode.com/file/repo1.maven.org/maven2/org.jdom/jdom2/2.0.4/org/jdom2/output/support/AbstractXMLOutputProcessor.java#392

[4] http://grepcode.com/file/repo1.maven.org/maven2/org.jdom/jdom2/2.0.4/org/jdom2/output/support/AbstractXMLOutputProcessor.java#665

0 投票
1 回答
149 浏览

xml - 使用Jdom读取xml

我是第一次使用 JDOM,到目前为止,还不是很成功。另外,我是一名 .NET 人员,被分配了一个 Java 项目。

我有这个 xml 文件,我正在尝试读取所有元素。

这是我到目前为止的代码。响应是我获取 xml 数据的地方。我可以阅读根元素,但我很难阅读这些元素。有任何想法吗??

这是xml文件

0 投票
1 回答
951 浏览

java - 名称“context:annotation-config”对于 JDOM/XML 是不合法的

我怎么能写这个:

使用 jdom2。我试过了:

但我有这个错误:

名称“context:annotation-config”对于 JDOM/XML 元素是不合法的:XML 名称“context:annotation-config”不能包含字符“:”。

0 投票
1 回答
163 浏览

java - 在 JDOM 中从 XSLT 调用 Java 实例方法

我正在使用 JDOM2 来处理我的应用程序处理的 XML,并且更喜欢使用 JDOM2 XSLT 处理。从我的 XSLT 中,我希望在调用转换器之前调用由我的应用程序创建的 java 实例上的方法。

这可能吗?如果是的话,谁能指出我正确的方向?

谢谢

0 投票
0 回答
113 浏览

android - 在 Android 中解析多对多 XML

我正在尝试在 android 中解析 XML 文件,然后将内容保存到 SQLite 数据库。我目前正在使用 JDOM2 以便于阅读代码。就内存问题而言,我认为 JDOM 不会成为问题,因为解析在我的 Galaxy Nexus 上发生得相当快,它位于受支持设备的低端。当关系是一对一时,我可以毫无问题地获取数据,将其保存到 Sqlite 数据库并读取它/生成带有数据的列表视图。但是,由于我遇到的所有解析 XML 的教程都使用一对一 XML 结构,因此我对如何为一对多和多对多执行此操作持空白. 例如,我需要解析的 XML 代码如下所示:

我能够轻松获取所有名称、位置和类型,因为所有这些之间只有一对一的关系。它们保存在我数据库的 1 个表中。我需要做的是将所有项目和子项目保存在他们自己的表中,并且仍然将其链接到正确的名称。这对我来说是个问题,很可能是逻辑让我失望。

如果我需要使用不同的解析器,那很好,因为我能够获得与上面使用 XMLPullParser 相同的信息,但我确实喜欢 JDOM2 的简洁性和简洁性,作为一个同时处理 XML 和 Sqlite 的入门级开发人员第一次在一起。

我不关心实际执行操作需要多长时间。如果用户选择将他们的数据导入到应用程序中,这可能是一个一次性的过程,我会在菜单中添加一些内容。我也无法更改 XML 的格式,因为它是由 3rd 方程序生成的,这是他们选择导出数据的格式。

0 投票
2 回答
533 浏览

xpath - 连接多个处理指令会导致 XQuery、XPath 中的 for 循环

我需要使用 NAME="CONTENTTYPE" 阅读所有处理指令,并且我想阅读 @VALUE 并连接所有值并在 XQuery/XPath 中返回。

我的 XML:

预期输出:

感谢您在编写 XQuery/XPath 以获得上述输出方面的帮助。

提前致谢。

问候, 哈里

0 投票
1 回答
276 浏览

java - JDOM2中Format类中setTextMode(Format.TextMode.TRIM)的效果

我正在将我的代码 jdom 升级到 jdom2.0.5。我之前的代码是,

现在我正在使用 Format 类,如下所示,

或者我可以使用Format.getPrettyFormat()

如果我从我的新代码中删除了“format.setTextMode(Format.TextMode.TRIM)”行,它与旧行为不兼容。如果我使用 TRIM,那么它会提供像我以前的行为一样的输出。但是我在之前的代码中没有使用 TRIM 部分。

我以前的代码,如果我在新代码中包含 TRIM,它会给出如下输出,

如果我在我的新代码中删除了 TRIM 部分,它会给出如下输出,

这被认为是错误的行为。

我找不到需要 TRIM 的原因。

你能帮我吗?