<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetListItemsResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<GetListItemsResult>
<listitems xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<rs:data ItemCount="2">
<z:row ows_ID='1' ows_MetaInfo='1;#vti_parserversion:SR|14.0.0.6134 ' />
<z:row ows_ID='2' ows_MetaInfo='2;#vti_parserversion:SR|14.0.0.6134 ' />
</rs:data>
</listitems>
</GetListItemsResult>
</GetListItemsResponse>
</soap:Body>
</soap:Envelope>
XML字符串
我想从ItemCount
节点
rs:data
属性
我正在尝试的是
$dom = new DOMDocument; $dom->loadXML( $result->data ); $xpath = new DOMXPath($dom);
$seats = $xpath->query('//rs:data[@ItemCount]'); print_r($seats);
请帮助我,因为我是Drupal PHP的新手,正确地从itemcount
节点获取rs:data
属性的值。我尝试了很多方法甚至使用simplexml但没有一个工作,请分享代码片段
谢谢
答案 0 :(得分:1)
我认为您不需要将其解析为xml,以获得一个值,我认为最好像这样使用preg_match_all
。
preg_match_all('/rs:data ItemCount="(.*?)"/', $string, $match);