问题标签 [jdom]

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 投票
3 回答
16729 浏览

java - 默认 XML 命名空间、JDOM 和 XPath

我想使用 JDOM 读取 XML 文件,然后使用 XPath 从 JDOM 文档中提取数据。它可以很好地创建 Document 对象,但是当我使用 XPath 查询 Document 以获取元素列表时,我什么也得不到。

我的 XML 文档在根元素中定义了一个默认命名空间。有趣的是,当我删除默认命名空间时,它成功运行 XPath 查询并返回我想要的元素。我还必须做什么才能让我的 XPath 查询返回结果?

XML:

爪哇:

0 投票
3 回答
1329 浏览

java - 使用 JDOM 重写 XML/DOM 树的问题 (ConcurrentModificationException)

我需要遍历 JDOM 树并进行更改;目前,更改主要是添加新元素,但也可能包括重新排序元素或删除元素。所有工作都在同一个线程上完成,因此不存在并发问题。

事实证明这很困难,因为如果您尝试在遍历期间添加节点,JDOM 迭代器可能会抛出 ConcurrentModificationException。据我所知,JDOM 使用列表而不是直接链接 DOM 节点,这使得动态修改变得困难。

我已经看到了一些关于如何处理这个问题的建议,例如将添加推迟到遍历完成之后,或者动态构建一个新树,以便遍历的树保持不变。这些对我不起作用,因为我在修改树时需要一致的视图。

我开始怀疑 JDOM 在这里行不通。是否有任何其他 Java DOM 模型使这更容易?或者有没有办法在 JDOM 中做到这一点?

0 投票
1 回答
325 浏览

java - JDOM 是否支持 ID 和 IDREF?

JDom 是否有能力执行以下操作:

或任何其他与 ID 和 IDREF 相关的设施?

0 投票
3 回答
974 浏览

xml - 如何将 XHTML 插入 XML

我目前正在使用 JDOM。我想不出一个本质上应该是一个简单问题的解决方案。

我有一个有效的 XHTML 字符串:

<b>M&amp;A</b> &euro;

如何将其插入 XML DOM,如下所示?

<parentNode>
  <b>M&amp;A</b>
  欧元
</parentNode>

(这个 XML 然后转到 XSL 转换器,然后为浏览器呈现 XHTML)

我想出了以下“伪”解决方案,但我不确定它们是否可行:

对不是 XML 实体的实体进行转义,然后插入。
仅重新转义 XML 实体,然后 HTML 取消转义整个字符串,然后插入。

塔拉斯

0 投票
3 回答
349 浏览

xpath - 支持 jdom 的已知 xpath 2.0 处理器

哪些支持 jdom 的 xpath 2.0 处理器是已知的?

0 投票
2 回答
5127 浏览

xml - 使用 XSD 以编程方式创建 XML 文档

我需要使用符合一组 XSD 文件的内置 java org.w3c.dom 或 jdom 包来创建 XML 文档。XSD 文件相似但不相同。本质上,我需要根据动态给我的 XSD 创建 XML 文件。

最好的方法是什么。我已经检查了 Validator 包,它没有任何功能,如给定上下文节点处可能元素的前瞻或迭代器。

理想情况下,我正在研究一种 SAX 架构,当我被要求以无上下文的方式提供时,我会在其中实现一个元素。引擎应该组装起来,最后给我 dom 树。

这个轮子是不是已经发明出来了?

谢谢..

0 投票
1 回答
899 浏览

java - 获取xml元素的文本内容

所以,我对 Java 中的 xml 文档有一些疑问。我可以获取某个元素的所有文本(仅文本)内容以及该元素的所有后代元素,而无需遍历所有这些元素并使用 Element.getText()?换句话说,它必须是某种类似于 JavaScript textContent 的函数。或者我必须遍历所有节点?

0 投票
5 回答
11695 浏览

java - NFS 挂载上的 Java I/O

我有一些 Java 代码将 XML 文件输出到 NFS 安装的文件系统。在将文件系统挂载为 Samba 共享的另一台服务器上,有一个进程正在运行,每 30 秒轮询一次新的 XML 文件。如果找到新文件,则会对其进行处理,然后将其重命名为备份文件。99% 的情况下,文件的写入没有问题。但是,备份文件时不时地包含一个部分写入的文件。

在与其他人讨论后,我们猜测外部服务器上运行的进程在读取文件时干扰了 Java 输出流。他们建议首先创建一个 .temp 类型的文件,然后在文件写入完成后将其重命名为 .xml。一种常见的行业惯例。更改后,每次重命名都失败。

一些研究表明,在使用 NFS 挂载的文件系统时,Java 文件 I/O 存在错误。

帮助我Java大师!我该如何解决这个问题?

以下是一些相关信息:

  • 我的进程是在 Solaris 10 上运行的 Java 1.6.0_16
  • 挂载的文件系统是 NAS
  • 具有轮询过程的服务器是 Windows Server 2003 R2 Standard,Service Pack 2

这是我的代码示例:

0 投票
9 回答
33368 浏览

java - Java内存不足异常

我在 Tomcat 中运行 Java Web 应用程序。该应用程序使用 Quartz 框架定期安排 cron 作业。此 cron 作业涉及解析一个 4+ MB 的 xml 文件,我正在使用 JDOM API 进行此操作。xml 文件包含大约 3600 个要解析的节点,因此要在 DB 中更新数据,我正在按顺序进行。
在解析了几乎一半的文件后,我的应用程序抛出了内存不足异常。相同的堆栈跟踪是:

这甚至导致我的 tomcat 崩溃。你能帮我诊断问题吗?我什至在 Netbeans 中启用了相同的分析,但似乎即使这样也崩溃了。我保留了分配给 Tomcat 的默认内存。是否发生任何内存泄漏。我的数据库是 postgres,JDK 是 1.6.0_15。

谢谢,阿米特

0 投票
1 回答
398 浏览

java - 将 pojo 类列表转换为 Jdom 树?

我有一个 POJO 类调用LEVEL和他的类图,如下所示:

换句话说:

我有一个方法可以从数据库中检索List<Level>.

我想要这样的 jdom 表示(使用org.jdomapi)一棵树(就像你的目录的树)

我知道算法必须是递归的。

你有什么解决办法吗?任何将java类转换为jdom树的工具?