【问题标题】:Inserting elements in xml在xml中插入元素
【发布时间】:2015-04-07 00:20:23
【问题描述】:

我正在尝试向 xml 添加元素。我关注了Java DOM - Inserting an element, after another 但这对我不起作用。这是我的代码:

Element e = dom.createElement("mapping");
e.setAttribute("resource", "/some/path/to/file");
Element lastChild = (Element)nList.item(nList.getLength()-1);
Element parent= (Element)nList.item(nList.getLength()-1).getParentNode();

lastChild.getParentNode().insertBefore(e, lastChild);

我也尝试过parent.appendChild(e);,但它们都不起作用。代码似乎没有问题。可能是什么问题?

我在 macosx 上使用 Netbeans。这是因为文件权限吗?

【问题讨论】:

  • "代码似乎没有问题。" 是什么让你这么认为?
  • 因为我已经测试了几次并且没有错误。也没有任何逻辑缺陷,同样的 sn-p 似乎也适用于其他人。
  • 没有错误仅仅意味着代码成功地做了某事,并不意味着它做了你想要的。如果相同的 sn-p 对其他人有效,那么您的代码中显然存在“逻辑”缺陷,尽管可能不是特别在那个 sn-p 中。
  • 例如,你怎么知道这段代码没有“工作”?很可能 e 实际上是在 lastChild 之前插入的,但无论您做什么来验证这是不正确的。
  • “这是因为文件权限的原因吗?” 也许吧?我们不在您的计算机上,因此我们无法回答有关您的环境的具体信息。尝试编写一个将文件作为文本读取的快速测试;如果它读取它,则您具有读取权限。

标签: java xml


【解决方案1】:

您正在使用的 Elements 是内存中的 DOM,它们不会直接厌倦您的文件内容。您发布的代码 sn-p 仅修改该 DOM。如果您将数据写回文件,您只会看到文件中的更改

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多