问题标签 [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.
java - 默认 XML 命名空间、JDOM 和 XPath
我想使用 JDOM 读取 XML 文件,然后使用 XPath 从 JDOM 文档中提取数据。它可以很好地创建 Document 对象,但是当我使用 XPath 查询 Document 以获取元素列表时,我什么也得不到。
我的 XML 文档在根元素中定义了一个默认命名空间。有趣的是,当我删除默认命名空间时,它成功运行 XPath 查询并返回我想要的元素。我还必须做什么才能让我的 XPath 查询返回结果?
XML:
爪哇:
java - 使用 JDOM 重写 XML/DOM 树的问题 (ConcurrentModificationException)
我需要遍历 JDOM 树并进行更改;目前,更改主要是添加新元素,但也可能包括重新排序元素或删除元素。所有工作都在同一个线程上完成,因此不存在并发问题。
事实证明这很困难,因为如果您尝试在遍历期间添加节点,JDOM 迭代器可能会抛出 ConcurrentModificationException。据我所知,JDOM 使用列表而不是直接链接 DOM 节点,这使得动态修改变得困难。
我已经看到了一些关于如何处理这个问题的建议,例如将添加推迟到遍历完成之后,或者动态构建一个新树,以便遍历的树保持不变。这些对我不起作用,因为我在修改树时需要一致的视图。
我开始怀疑 JDOM 在这里行不通。是否有任何其他 Java DOM 模型使这更容易?或者有没有办法在 JDOM 中做到这一点?
java - JDOM 是否支持 ID 和 IDREF?
JDom 是否有能力执行以下操作:
或任何其他与 ID 和 IDREF 相关的设施?
xml - 如何将 XHTML 插入 XML
我目前正在使用 JDOM。我想不出一个本质上应该是一个简单问题的解决方案。
我有一个有效的 XHTML 字符串:
<b>M&A</b> €
如何将其插入 XML DOM,如下所示?
<parentNode>
<b>M&A</b>
欧元
</parentNode>
(这个 XML 然后转到 XSL 转换器,然后为浏览器呈现 XHTML)
我想出了以下“伪”解决方案,但我不确定它们是否可行:
对不是 XML 实体的实体进行转义,然后插入。
仅重新转义 XML 实体,然后 HTML 取消转义整个字符串,然后插入。
塔拉斯
xpath - 支持 jdom 的已知 xpath 2.0 处理器
哪些支持 jdom 的 xpath 2.0 处理器是已知的?
xml - 使用 XSD 以编程方式创建 XML 文档
我需要使用符合一组 XSD 文件的内置 java org.w3c.dom 或 jdom 包来创建 XML 文档。XSD 文件相似但不相同。本质上,我需要根据动态给我的 XSD 创建 XML 文件。
最好的方法是什么。我已经检查了 Validator 包,它没有任何功能,如给定上下文节点处可能元素的前瞻或迭代器。
理想情况下,我正在研究一种 SAX 架构,当我被要求以无上下文的方式提供时,我会在其中实现一个元素。引擎应该组装起来,最后给我 dom 树。
这个轮子是不是已经发明出来了?
谢谢..
java - 获取xml元素的文本内容
所以,我对 Java 中的 xml 文档有一些疑问。我可以获取某个元素的所有文本(仅文本)内容以及该元素的所有后代元素,而无需遍历所有这些元素并使用 Element.getText()?换句话说,它必须是某种类似于 JavaScript textContent 的函数。或者我必须遍历所有节点?
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
这是我的代码示例:
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。
谢谢,阿米特
java - 将 pojo 类列表转换为 Jdom 树?
我有一个 POJO 类调用LEVEL
和他的类图,如下所示:
换句话说:
我有一个方法可以从数据库中检索List<Level>
.
我想要这样的 jdom 表示(使用org.jdom
api)一棵树(就像你的目录的树)
我知道算法必须是递归的。
你有什么解决办法吗?任何将java类转换为jdom树的工具?