问题标签 [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 投票
2 回答
755 浏览

java - XPathExpression 从 tesseract hOCR XML 输出中选择

我有一个大致如下形状的文件:

然后我将 JDOM 2.x 与以下 XPath 查询一起使用:

但它永远无法找到任何元素,我在查询中做错了什么?

0 投票
1 回答
1138 浏览

xpath - 如何在 JDOM2 中使用 XPATH 函数(concat、string-join)?

这里我有一个简单的项目。pom.xml

hr.xml 放在项目的根文件夹中:

要解码的源代码:

但是 nameExpression 和 nameExpression2 都不起作用。输出结果为:

nameExpression2 导致编译错误。能否请你帮忙。谢谢。

0 投票
1 回答
755 浏览

java - 使用 JDOM 修改 XML

我正在尝试使用 JDOM 修改 XML 文档,问题是它不会更改文件中的任何内容。

我一直在互联网上搜索以修改文件,并在任何站点中解释了如何保存文件。

我想让你告诉我我做错了什么,或者是否有其他方法。

方法代码为:

XML的DTD是:

0 投票
1 回答
1146 浏览

java - 使用比较器排序时,内容已经有一个现有的父级

我使用 jdom2 从 xml 字符串中获取元素列表。并希望通过 getChildText 对其进行排序。

这是我的比较器:

这是我的代码:

但我得到这个错误:

那我该怎么办?

0 投票
2 回答
489 浏览

java - 如何使用 org.jdom2 获取文档的 xml 版本?

我正在使用 org.jdom2 来解析 xml 文件。我需要知道该文件是标记为 1.1 版还是 1.0 版。如何访问 xml 声明?另外,在使用 XMLOutputter 编写输出时如何设置版本?

0 投票
1 回答
2226 浏览

java - 带有 XPath 的 JDOM2 不适用于命名空间

尝试将 XPath 与具有为根节点声明的默认命名空间的 XML 文件一起使用。

示例代码:

部分为空。

XML 的片段

删除xmlns="http://www.stellent.com/sitestudio/Project/"作品但不是解决方案!

为什么 XPath 不能知道这个默认命名空间?还有,为什么在乎?

更好的是,我一般如何解决这个问题?

感谢您的任何见解。

0 投票
1 回答
2289 浏览

java - 如何通过包含名称空间信息来创建 XML 元素?

我正在尝试通过将名称空间信息作为其属性来创建 XML 元素。我的代码如下,

出于某种原因,我收到以下错误,

“线程“AWT-EventQueue-0”org.jdom2.IllegalNameException 中的异常:名称“xmlns:xsi”对于 JDOM/XML 属性不合法:XML 名称“xmlns:xsi”不能包含字符“:”。”

请帮我解决问题。

0 投票
2 回答
544 浏览

java - 删除结束标签 jdom 中的空格

我正在使用 JDom 2.0.5 来修改 xml。我还有一个 Junit 测试用例,它检查它是否被正确修改。它有一个输入 xml、一个测试方法(转换 xml)和一个新的 xml(结果)。稍后它将输出与应该是最终结果的文件进行比较。

但这总是错误的,因为每个结束标记都是由 JDom 自动修改的。我无法更改模型,因为这是一项未修改的要求。

如何避免 JDom 更改此标签?

0 投票
1 回答
193 浏览

java - JDOM2 - 跟随重定向(HTTP 错误 301)

我目前正在使用其公共 XML API 为网站开发第三方程序。我不想更深入地讨论程序实际在做什么或任何事情,因为一开始似乎就存在问题。该网站的 API 期望客户端遵循重定向并设置适当的用户代理来验证应用程序本身,但我用于此项目的 JDOM2 库似乎没有做任何这些事情。集成在包中的 SAXBuilder (org.jdom2.input) 和本机 HTTPURLConnection (java.net) 类似乎都不能正常工作。

我很困惑,根本不知道从哪里开始。有没有办法让 JDOM2 库遵循重定向,或者我只是缺少一个简单的方法调用?

0 投票
1 回答
133 浏览

maven - 使用 ROME 依赖和 cobertura-maven-plugin 防止“mvn site”目标中的测试错误

在基于 Maven 的项目中,一些 JUnit 测试失败,但仅在 Maven 站点构建期间。执行时

所有测试都通过。但是执行时:

一些测试生成消息:
Could not initialize class org.jdom2.input.sax.XMLReaders

这些错误发生在使用 ROME 解析 RSS 数据的类中。为此,该项目依赖于 ROME (com.rometools:rome:1.5.0),它本身依赖于 JDOM 2.0.2。

当 ROME 依赖项尚未包含在项目中时,错误不会发生。

Maven 站点配置包括 cobertura-maven-plugin。这也依赖于 JDOM,通过 Jaxen: jaxen:jaxen:1.0 -> jdom:jdom:1.0

我认为在执行站点目标时,JDOM 1.0 版本被测试中的类使用,导致 ROME 库中的错误,因为它使用了不正确的 JDOM 版本。

我不知道如何将项目配置为仅在 Cobertura 插件中使用 JDOM 1.0。有谁知道这样做的方法并使测试在站点目标期间成功运行?