鉴于此XML / XHTML片段:
<h1>
<zuq:data name="siteHeader" />
</h1>
<h2>
<zuq:data name="pageHeaderName" />
<span>—</span>
<zuq:data name="pageHeaderTitle" />
</h2>
我使用SimpleXML的XPath方法来舍入zuq
命名空间中的所有顶级节点。由于xpath()
方法的数组元素是对SimpleXML
对象树节点的伪引用,我认为操作很容易。但是,我无法弄清楚如何用文本节点替换给定的元素节点。例如,我如何将<zuq:data name="siteHeader" />
替换为文字My Site Header
。
我已经考虑过简单地定位父节点并修改它的内容,因为它可以与第一个块(<h1>
)一起使用,但是我没有看到我的第二个块({{1 }})。
有没有一种简单的方法可以通过PHP中的<h2>
用文本节点替换给定的元素节点?
答案 0 :(得分:1)
快速查看文档我也找不到简单的方法。我会尝试迭代原始的xml doc并将每个元素复制到一个新的xml doc,并根据需要进行修改。
答案 1 :(得分:1)
据我所知,simplexml无法删除或替换节点。它更适用于阅读,创建和非结构相关的编辑。您将不得不使用DOM XML对象来完全替换节点。它有点像simplexml的更复杂版本。在这里阅读: