gpt4 book ai didi

java - 通过 XPath 将任意 XML 字符串插入 XML 文档的代码

转载 作者:行者123 更新时间:2023-12-01 05:46:52 29 4
gpt4 key购买 nike

我正在尝试创建一个包装 Groovy 类的脚本,该类将采用以下参数:

  1. 要更新的输入 XML 文件。
  2. 要插入到输入文件中的任意代码段(其本身可能不是格式良好的;它会成为格式良好的更大文档的一部分)。
  3. 标记元素的 XPath(用于定位 #2 中的代码段)。
  4. 一个操作(之前插入、之后插入、附加子项)。
  5. 可选输出 XML 文件。

我找不到一个可以让我执行以下操作的 API:

  1. 通过 XPath 查找节点并
  2. 从与节点相邻的字符串中填充 XML。

有人对我可以结合实现这种效果的技术有一些想法吗?小例子特别有用。

最佳答案

如果代码片段格式良好,我见过的大多数 DOM 实现也将支持非标准 DocumentFragment 节点类型,它允许您从字符串注入(inject) dom 节点。

编辑:快速 Google 搜索会出现一些 JavaDocs:http://download.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/DocumentFragment.htmlIIRC api 的工作原理如下(伪代码):

parent = find_parent_node_of_fragment(document);

fragment = document.createDocumentFragment();
fragment.appendXML("<my>xmlstring</my>");

parent.appendChild(fragment);

如果您没有这种能力或者您的字符串格式不正确,则可以选择注入(inject) CDATA。

如果您无法注入(inject) CDATA(因为您本质上是想影响后面的节点,例如新节点必须成为将包含在新文档中的旧节点的父节点),您可以尝试XSLT 转换。

关于java - 通过 XPath 将任意 XML 字符串插入 XML 文档的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5707320/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com