【问题标题】:Java Node.appendNode removing previous elementsJava Node.appendNode 删除以前的元素
【发布时间】:2012-02-20 04:12:35
【问题描述】:

我在使用 DefaultHandler2 解析某些 XML 时遇到问题。我的 XML 采用以下形式:

<nodeA>
  <nodeB></nodeB>
  <nodeB></nodeB>
</nodeA>

我正在尝试创建 XML 的 DOM 文档,但是根据 Javadoc 关于 Node.appendChild:

"将节点 newChild 添加到 this 的子节点列表的末尾 节点。如果 newChild 已经在树中,则首先将其移除。”

因此删除了第一个 nodeB 元素,我想知道如何使用 Document 类添加同名的兄弟节点。任何有关这方面的信息都会很棒,非常感谢!

【问题讨论】:

  • 是否可以添加属性,例如 id (or) 之类的?这样可以区分两个节点?

标签: java xml xml-parsing


【解决方案1】:

Node.appendChild 仅当它是同一个实例而不是类型时才会删除并重新添加一个节点。因此,您应该每次都添加子节点类型的新实例,而不是更改和重新附加同一个对象。

【讨论】:

  • 发现我的节点方法确实有效,但 Node.getTextContent() 的工作方式与我预期的不同。会接受,因为这实际上回答了原始问题。
猜你喜欢
  • 1970-01-01
  • 2018-09-15
  • 2014-07-10
  • 2011-03-09
  • 2015-05-25
  • 2014-09-28
  • 2019-05-15
  • 1970-01-01
  • 2017-12-28
相关资源
最近更新 更多