我有一个字符串格式的有效xml代码。我想将字符串转换为XML对象。
$string = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<d:multistatus xmlns:d="DAV:" xmlns:nc="http://example.com" xmlns:oc="http://example.com" xmlns:s="http://example.com">
<d:response>
<d:href>/remote.php/dav/files/test3.txt</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Tue, 03 Dec 2019 12:42:33 GMT</d:getlastmodified>
<d:resourcetype>
<d:collection />
</d:resourcetype>
<d:quota-used-bytes>1942356098</d:quota-used-bytes>
<d:quota-available-bytes>-3</d:quota-available-bytes>
<d:getetag>"5de6583924a4b"</d:getetag>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/remote.php/dav/files/test2.txt</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Thu, 21 Nov 2019 11:30:59 GMT</d:getlastmodified>
<d:resourcetype>
<d:collection />
</d:resourcetype>
<d:quota-used-bytes>130</d:quota-used-bytes>
<d:quota-available-bytes>-3</d:quota-available-bytes>
<d:getetag>"5dd675741bdcb"</d:getetag>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
<d:propstat>
<d:prop>
<d:getcontentlength />
<d:getcontenttype />
</d:prop>
<d:status>HTTP/1.1 404 Not Found</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/remote.php/dav/files/test.txt</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Wed, 27 Nov 2019 10:47:45 GMT</d:getlastmodified>
<d:getcontentlength>1942355968</d:getcontentlength>
<d:resourcetype />
<d:getetag>"aa05cb48be85a3c306421807c2467acf"</d:getetag>
<d:getcontenttype>application/octet-stream</d:getcontenttype>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
<d:propstat>
<d:prop>
<d:quota-used-bytes />
<d:quota-available-bytes />
</d:prop>
<d:status>HTTP/1.1 404 Not Found</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/remote.php/dav/files/openSUSE-Leap-42.3-DVD-x86_64.iso/</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Wed, 27 Nov 2019 10:31:51 GMT</d:getlastmodified>
<d:resourcetype>
<d:collection />
</d:resourcetype>
<d:quota-used-bytes>0</d:quota-used-bytes>
<d:quota-available-bytes>-3</d:quota-available-bytes>
<d:getetag>"5de6309233431"</d:getetag>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
<d:propstat>
<d:prop>
<d:getcontentlength />
<d:getcontenttype />
</d:prop>
<d:status>HTTP/1.1 404 Not Found</d:status>
</d:propstat>
</d:response>
</d:multistatus>
XML;
$xml = simplexml_load_string($string);
var_dump($xml);
输出:
object(SimpleXMLElement)#1 (0) {
}
我不明白为什么我的结果空白。
答案 0 :(得分:1)
这就是应该的样子,数据仍然存在,您只需要使用SimpleXML方法来获取所需的内容,demo可以尝试以下操作:
<?php
$string = <<<XML
YOUR XML
XML;
$xml = simplexml_load_string($string);
var_dump($xml->getName());