将 xml 元素从 xml 文档插入到另一个 xml 文档
假设我必须使用 xml 文档:
<first_root>
<element1/>
<element2>
<embedded_element/>
</element2>
</first_root>
如何
<foo>
<bar/>
</foo>
使用 php 和 DomDocument 或 SimpleXML 将第二个 xml 文档放入第一个文档中?
我希望它看起来像这样:
<first_root>
<element1/>
<element2>
<foo>
<bar/>
</foo>
<embedded_element/>
</element2>
</first_root>
Let's say I have to xml documents:
<first_root>
<element1/>
<element2>
<embedded_element/>
</element2>
</first_root>
and
<foo>
<bar/>
</foo>
How can I put this second xml doc into the first one, using php and DomDocument or SimpleXML?
I want it to look like something like this:
<first_root>
<element1/>
<element2>
<foo>
<bar/>
</foo>
<embedded_element/>
</element2>
</first_root>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 DOMDocument 来完成此操作:
这里我将 XML 导入到 DOMDocument 中,然后选取第一个
embedded_element
出现和foo
节点。在您必须深度导入foo
到第一个文档中之后。现在您可以在embedded_element
之前插入foo
。显然这只是一个令人高兴的情况......
文档: DOM
与 < code>SimpleXML 您可以通过基于前两个文档构建第三个文档来实现此目的,因为您无法将 SimpleXMLElements 附加到其他文档中。 (或者也许你可以,但有些东西我没有得到)
You can do it using DOMDocument:
Here I imported the XML into
DOMDocument
s, then I picked up the firstembedded_element
occurrence andfoo
node. After you have to import deeplyfoo
into the first document. Now you can insertfoo
beforeembedded_element
.Obviously this is only the happy case...
Documentation: DOM
With
SimpleXML
you can accomplish this by building a third document based on the first two because you can't append SimpleXMLElements into others. (Or maybe you can but there's something I didn't get)