使用 mysql、php 和 simpleXML 存储/检索部分 xml 文档

发布于 2024-10-17 12:48:49 字数 457 浏览 2 评论 0原文

我正在从合作伙伴 API 获取 xml 文档,并且希望将单独的节点存储到 mysql 数据库中,以便我可以使用特定节点重建它。我绝对不想将完整的文档解析到数据库中,因为我只关心 ID 和各个节点的总数。

例如:

<list>
<child>20-30 grandchildren</child>
<child></child>
<child></child>
...
<child></child>
</list>

我希望能够将块放入 mysql 数据库中,然后恢复它们。这就是我失败的地方:我使用 simple_xml 来获取节点,并使用 REPLACE 将其添加为文本,但我不确定他们如何将其恢复为 .对于数组,我会序列化然后反序列化,但这里失败了。

我缺少一个明显的方法吗?

I'm taking an xml document down from a partner API and I'd like to store the separate nodes into a mysql database so I can rebuild it with specific nodes. I absolutely do not want to parse out the complete document into the database as all I care about are the IDs and the individual nodes in total.

So for example:

<list>
<child>20-30 grandchildren</child>
<child></child>
<child></child>
...
<child></child>
</list>

I'd like to be able to put the blocks into a mysql database and then restore them. That's where I'm falling down: I use simple_xml to get the node and I use REPLACE to add it as a text, but I'm not sure how to them restore it back to . For an array, I'd serialize and than unserialize but that fails here.

Is there an obvious method I'm missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不必在意 2024-10-24 12:48:49

您可以使用 asXML() 然后您可以使用 simplexml_load_string( )

您无法使用serialize()序列化SimpleXMLElement,它将无法按预期工作。

You serialize SimpleXMLElement objects to XML with asXML() then you can load the document normally with simplexml_load_string()

You cannot serialize SimpleXMLElement with serialize(), it will not work as expected.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文