问题标签 [dom4j]
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 - 使用 dom4j 从流中读取单个 XML 文档
我正在尝试使用 dom4j 一次从流中读取单个 XML 文档,对其进行处理,然后继续处理流中的下一个文档。不幸的是,dom4j 的 SAXReader(在幕后使用 JAXP)一直在读取并阻塞在下面的文档元素上。
有没有办法让 SAXReader 在找到文档元素的结尾后停止读取流?有没有更好的方法来实现这一点?
jython - 需要帮助使 Jython (dom4j) 脚本更优雅:)
我已经开始使用 Jython,因为它似乎是一种优秀的语言,并且到目前为止已经证明是这样。
我正在使用 dom4j 从磁盘上的一堆 HTML 文件的 DOM 中操作和检索数据。我编写了下面的脚本来检查使用 Xpath 的H1标签和抓取文本的 DOM,如果H1标签不存在于 DOM 中,它会搜索标题标签并从中获取文本。
我对 Jython 很陌生,但我确信有一种方法可以比下面的方法更优雅地执行所需的任务,如果我的想法是正确的,有没有人可以告诉我一个更好的方法来做到这一点?
如果有人可以提供帮助,那就太好了。干杯
jython - 是否可以使用 Jython 和 dom4j 在元素之间添加元素?
只是在玩 dom4j,非常好。我做了一年半的 PHP 开发人员,刚找到一份新工作并开始使用 Jython,现在我有空闲时间,它是一门很棒的语言。正在考虑尝试在元素之间添加一个元素,示例如下:
是否可以在两者之间插入另一个p标签而不将 DOM 转换为字符串并再次返回 DOM,因为这是我能够做到的唯一方法?
java - 需要帮助使用 dom4j 处理文档
我创建了两个文档对象,现在我想将一个元素和它的子元素移动到另一个元素。我该怎么做。谁能告诉我,谢谢。^_^
java - 创建 Dom4J SaxReader 对象池有什么价值吗?
我正在使用 Dom4J 1.4.2。
现在,每当我想解析一个新的 XML 文档时,我的代码都会创建一个新的 SaxReader:
创建一个 SaxReader 对象池并重用它们有什么价值吗?在每次调用中创建一个新的 SaxReader 需要多少开销?
我的代码可以从池中获取一个,解析文档然后将其返回到池中以供另一个线程使用。
xml - 与在 Dom4J 中使用 DOM 相比,XPath 的效率如何?
例如考虑以下 xml
使用 DOM 获取根节点,然后循环遍历 childNode 和 grandChildNode 是否有效,或者使用 XPath 表达式收集子节点和 grandChild 节点的详细信息是否有效?
java - Dom4j 规则与所有预期节点不匹配
如果预定义的模式 //authorize 与以下 xml 片段中的元素匹配,我将使用 dom4j 的规则 api 来触发操作。
不幸的是,它似乎不适用于嵌套元素,只能找到第一级的授权元素。该动作仅触发两次,但有 5 个授权元素。有人知道如何解决这个问题吗?提前致谢。
我尝试将授权标签与以下规则匹配:
该规则在第一层的元素上匹配两次。我用 document.selectNodes 方法交叉检查了 XPath 模式,得到了所有五个元素。
java - 您推荐什么 Java XML 库(替换 dom4j)?
我正在寻找类似 dom4j 的东西,但没有 dom4j 的缺陷,例如文档错误或缺失以及看似停滞的开发状态。
背景:我一直在使用和 提倡dom4j,但我觉得它并不完全正确,因为我知道该库远非最佳(例如:查看 XSLT 相关样式表类中的方法是如何记录的;你会传递什么来运行( ) 作为String mode
参数?)
要求:该库应该比使用 纯 JDK(javax.xml
和org.w3c.dom
包)时更容易处理基本的 XML。像这样的事情:
- 将 XML 文档(从文件或字符串)读入对象,轻松遍历和操作 DOM,执行 XPath 查询并针对它运行 XSLT。
- 在您的 Java 代码中构建 XML 文档,添加元素和属性以及数据,最后将文档写入文件或字符串。
实际上,我真的很喜欢dom4j 的承诺:“易于使用,开源库,用于处理 XML、XPath 和 XSLT [...],完全支持 DOM、SAX 和 JAXP。 ”而即将推出的 dom4j 2.0 确实声称可以解决所有问题: 充分利用 Java 5 并添加缺失的文档。但不幸的是,如果你仔细观察:
警告:dom4j 2.0 处于 pre-alpha 阶段。它可能无法编译。如果它可以随机编译,它很可能无法运行。如果它偶尔运行,它可能会突然爆炸。如果要使用 dom4j,则需要 1.6.1 版本。真的。
...而且该网站已经说了很长时间了。那么 dom4j 有什么好的替代品吗?请为您的首选库提供一些理由,而不仅仅是转储名称和链接。:-)
xpath - Dom4j 分离节点,Jython
我正在使用 Dom4j 分离节点,如下所示:
我按名称选择 div 节点,然后使用 detach 方法将其删除:
这似乎可以很好地删除 div,我注意到它还删除了该 div 中的元素和文本。我想要实现的是在不删除 div 内的元素和文本的情况下删除 div,从而导致:
是否可以使用 dom4j 实现这一目标?如果没有关于如何解决这个问题的任何建议?
干杯
伊夫
更新:
@alamar
通过获取您的代码并对其进行一些编辑,我已经实现了我想要的,这就是我想出的:
这似乎有效,但在以下情况下将节点添加到父节点的末尾:
结果是这样的:
我试图弄清楚如何让已删除节点的内容保持在其原始位置,在名为“keep”的 div 之前,而不是在名为“keep”的 div 之后添加。我已经尝试了一些东西,但似乎无法做到这一点,有人可以帮忙吗?
伊夫
java - 使用 dom4j 读取时转换文档编码
有什么方法可以将 dom4j 的 SAXReader 解析的文档从 ISO-8859-2 编码转换为 UTF-8?我需要在解析时发生这种情况,以便 dom4j 创建的对象已经是 Unicode/UTF-8 并且正在运行代码,例如:
返回真。