好吧,我有点难过。在操作 XML 时,我更熟悉 Python,但如果可能的话,我想在这种情况下使用 PHP。
是否有一种相对简单的方法可以用另一组元素替换 XML 文件中的一大块文本(给定节点的所有子节点和值)?
从此开始:
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:fedora="info:fedora/fedora-system:def/relations-external#" xmlns:myns="http://www.nsdl.org/ontologies/relationships#">
<rdf:Description rdf:about="info:fedora/cfai:EB01a004">
<fedora:isMemberOfCollection rdf:resource="info:fedora/cfai:collection"/>
</rdf:Description>
</rdf:RDF>
我希望它看起来像这样:
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:fedora="info:fedora/fedora-system:def/relations-external#" xmlns:myns="http://www.nsdl.org/ontologies/relationships#">
<rdf:Description rdf:about="info:fedora/cfai:EB01a004">
<element>These are new elements that I paste in.</element>
<element>This is another, basically just a string of elements</element>
</rdf:Description>
</rdf:RDF>
我已经用simple_xml_loadfile加载了它,我已经用registerXPathNamespace烹饪了命名空间,但是我很难弄清楚如何 1)删除节点,以及 2)在它们的位置插入我自己的文本块。
任何帮助将不胜感激。