使用嵌入式HTML将XML解析为PHP

时间:2012-02-03 20:57:06

标签: php xml simplexml

我正在尝试使用PHP解析xml文档。我一直在使用simplexml,直到最后一部分,它试图解析一个基本上有一个html网页的xml字段。我没有能力调整xml文档,所以这就是我正在使用的。

       <DataContent>

<!-- start embedded XHTML document -->

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:xn="http://www.xmlnews.org/ns/">

<head>
<meta content="text/html" http-equiv="Content-Type" charset="UTF-8"/>
<title>title of page</title>

etc...

</body>
</html>

<!-- end embedded XHTML document -->

        </DataContent>

所以我去解析它并没有解析任何一个。无论如何要抓取整个DataContent字段?

尝试这个不起作用

$BodyContent=$xml->Item->Component->ContentItem->DataContent;

1 个答案:

答案 0 :(得分:0)

当您致电simplexml_load_filesimplexml_load_string时,请设置LIBXML_NOCDATA选项并将DataContent包裹在<![CDATA[...]]>标记中。完成此操作后,您将能够以您想要的方式访问信息。

示例:

$xml = simplexml_load_file('/path/to/file.xml', 'SimpleXMLElement', LIBXML_NOCDATA);