在PHP中存储复杂的XML值

时间:2010-10-14 21:08:03

标签: php namespaces xml-namespaces

考虑这个假设的xml:

<myApi xmlns="urn:something" xmlns:bla="urn:hello">
  <argument1>foo</argument1>
  <argument2>
     <p xmlns="http://www.w3.org/1999/xhtml">Some paragraph of text. <img src="http://www.example.org/hello.png" bla:test="oi" /></p>
  </argument2>
</myApi>

PHP解析第二个参数的最佳方法是什么。完整的xml结构必须存储在数据库中,但必须考虑它可以引用文档中较高位置的已声明的xml命名空间这一事实。

有没有一种很好的方法可以使用任何现成的PHP解析库取出一大块XML,并存储所有语义信息?

1 个答案:

答案 0 :(得分:1)

你看过SimpleXML吗?它在没有验证的情况下进行解析,因此您可以在其中抛出任何格式良好的XML并自行整理有效和无效的标记。您还可以在任何级别提取XML片段。与它有点挣扎的唯一事情就是名称空间。