如何在php中解析复杂的xml
我有一个xml文档,我正在尝试解析它(遍历项目),但似乎没有xml解析器理解它。我尝试过simpleXml和其他一些方法,但它们只提供了两个字段(@attributes:locale,country)或不清晰的数组。使用一个我可以清楚地看到项目列表,所以这一定是php解析器的问题。 基本上,我需要提取与图像,价格和位置的每个项目。如果您能在阵列中帮助解码,我们将不胜感激! 我基本上需要循环遍历'Ad'数组并提取每个'Ad'的信息。id、价格、标题、开始日期时间、类别、位置、图片(数组)。这是一个打印屏幕:。所以不要让我发布没有10个声誉的图片如何在php中解析复杂的xml,php,xml,Php,Xml,我有一个xml文档,我正在尝试解析它(遍历项目),但似乎没有xml解析器理解它。我尝试过simpleXml和其他一些方法,但它们只提供了两个字段(@attributes:locale,country)或不清晰的数组。使用一个我可以清楚地看到项目列表,所以这一定是php解析器的问题。 基本上,我需要提取与图像,价格和位置的每个项目。如果您能在阵列中帮助解码,我们将不胜感激! 我基本上需要循环遍历'Ad'数组并提取每个'Ad'的信息。id、价格、标题、开始日期时间、类别、位置、图片(数组)。这是一个
$xml = simplexml_load_file('xml');
print_r($xml);
返回
SimpleXMLElement Object
(
[@attributes] => Array
(
[locale] => en_GB
[version] => 1.17
)
)
我还尝试了一个我发现的类(XML2Array),但没有成功!我曾考虑使用regex,因为它是我的一个老朋友,但数据的结构似乎不是用regex提取的
$array = XML2Array::createArray($xml);
print_r($array);
下面是XML。我还将其粘贴到了pastebin.com/XiKbfhV5上
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ad:ads xmlns:types="http://www.domainclassifiedsgroup.com/schema/types/v1" xmlns:cat="http://www.domainclassifiedsgroup.com/schema/category/v1" xmlns:loc="http://www.domainclassifiedsgroup.com/schema/location/v1" xmlns:ad="http://www.domainclassifiedsgroup.com/schema/ad/v1" xmlns:feat="http://www.domainclassifiedsgroup.com/schema/feature/v1" xmlns:attr="http://www.domainclassifiedsgroup.com/schema/attribute/v1" xmlns:pic="http://www.domainclassifiedsgroup.com/schema/picture/v1" xmlns:user="http://www.domainclassifiedsgroup.com/schema/user/v1" xmlns:rate="http://www.domainclassifiedsgroup.com/schema/rate/v1" xmlns:reply="http://www.domainclassifiedsgroup.com/schema/reply/v1" xmlns:feed="http://www.domainclassifiedsgroup.com/schema/feed/v1" xmlns:order="http://www.domainclassifiedsgroup.com/schema/order/v1" xmlns:payment="http://www.domainclassifiedsgroup.com/schema/payment/v1" locale="en_GB" version="1.17">
<ad:ad id="1046911987">
<ad:title>Wanted Apple Macbook pro - Air - Retina - iMac Call now Wanted Today</ad:title>
<ad:ad-status>
<ad:value>ACTIVE</ad:value>
</ad:ad-status>
<ad:start-date-time>2014-01-31T17:54:24.000Z</ad:start-date-time>
<feat:features-active>
<feat:feature-active display="true" name="AD_GP_TOP_AD" group="standard"/>
</feat:features-active>
<cat:category id="188">
<cat:id-name>computing-phones-wanted</cat:id-name>
<cat:localized-name>Computing & Phones</cat:localized-name>
</cat:category>
<loc:locations>
<loc:location id="124">
<loc:id-name>wimbledon</loc:id-name>
<loc:localized-name>Wimbledon</loc:localized-name>
</loc:location>
<loc:location id="10000392">
<loc:id-name>uk</loc:id-name>
<loc:localized-name>United Kingdom</loc:localized-name>
</loc:location>
<loc:location id="10000393">
<loc:id-name>england</loc:id-name>
<loc:localized-name>England</loc:localized-name>
</loc:location>
<loc:location id="375">
<loc:id-name>south-west-london</loc:id-name>
<loc:localized-name>South West London</loc:localized-name>
</loc:location>
<loc:location id="10000344">
<loc:id-name>london</loc:id-name>
<loc:localized-name>London</loc:localized-name>
</loc:location>
</loc:locations>
<pic:pictures>
<pic:picture>
<pic:link rel="extrabig" href="http://i.domainimg.com/00/s/MzE3WDU1MA==/z/I8wAAMXQVT9S6-LI/$_80.JPG"/>
<pic:link rel="preview" href="http://i.domainimg.com/00/s/MzE3WDU1MA==/z/I8wAAMXQVT9S6-LI/$_81.JPG"/>
<pic:link rel="big" href="http://i.domainimg.com/00/s/MzE3WDU1MA==/z/I8wAAMXQVT9S6-LI/$_79.JPG"/>
<pic:link rel="thumb" href="http://i.domainimg.com/00/s/MzE3WDU1MA==/z/I8wAAMXQVT9S6-LI/$_78.JPG"/>
<pic:link rel="moreadsthumb" href="http://i.domainimg.com/00/s/MzE3WDU1MA==/z/I8wAAMXQVT9S6-LI/$_77.JPG"/>
</pic:picture>
</pic:pictures>
</ad:ad>
<ad:ad id="1046911555">
<ad:price>
<types:currency-iso-code>
<types:value localized-label="£">GBP</types:value>
</types:currency-iso-code>
<types:amount>140</types:amount>
</ad:price>
<ad:title>Hillbilly Golf Trolley with batteries, Trolley Bag, Callaway Golf Clubs</ad:title>
<ad:ad-status>
<ad:value>ACTIVE</ad:value>
</ad:ad-status>
<ad:start-date-time>2014-01-31T17:50:21.000Z</ad:start-date-time>
<feat:features-active>
<feat:feature-active display="true" name="AD_GP_TOP_AD" group="standard"/>
</feat:features-active>
<cat:category id="160">
<cat:id-name>golf-equipment</cat:id-name>
<cat:localized-name>Golf Equipment</cat:localized-name>
</cat:category>
<loc:locations>
<loc:location id="10000373">
<loc:id-name>york</loc:id-name>
<loc:localized-name>York</loc:localized-name>
</loc:location>
<loc:location id="11000029">
<loc:id-name>north-yorkshire</loc:id-name>
<loc:localized-name>North Yorkshire</loc:localized-name>
</loc:location>
<loc:location id="10000392">
<loc:id-name>uk</loc:id-name>
<loc:localized-name>United Kingdom</loc:localized-name>
</loc:location>
<loc:location id="10000393">
<loc:id-name>england</loc:id-name>
<loc:localized-name>England</loc:localized-name>
</loc:location>
</loc:locations>
<pic:pictures>
<pic:picture>
<pic:link rel="extrabig" href="http://i.domainimg.com/00/s/NzY4WDEwMjQ=/z/390AAOxygPtS695L/$_80.JPG"/>
<pic:link rel="preview" href="http://i.domainimg.com/00/s/NzY4WDEwMjQ=/z/390AAOxygPtS695L/$_81.JPG"/>
<pic:link rel="big" href="http://i.domainimg.com/00/s/NzY4WDEwMjQ=/z/390AAOxygPtS695L/$_79.JPG"/>
<pic:link rel="thumb" href="http://i.domainimg.com/00/s/NzY4WDEwMjQ=/z/390AAOxygPtS695L/$_78.JPG"/>
<pic:link rel="moreadsthumb" href="http://i.domainimg.com/00/s/NzY4WDEwMjQ=/z/390AAOxygPtS695L/$_77.JPG"/>
</pic:picture>
<pic:picture>
<pic:link rel="extrabig" href="http://i.domainimg.com/00/s/MTAyNFg3Njg=/z/eY8AAOxyUrZS695z/$_80.JPG"/>
<pic:link rel="preview" href="http://i.domainimg.com/00/s/MTAyNFg3Njg=/z/eY8AAOxyUrZS695z/$_81.JPG"/>
<pic:link rel="big" href="http://i.domainimg.com/00/s/MTAyNFg3Njg=/z/eY8AAOxyUrZS695z/$_79.JPG"/>
<pic:link rel="thumb" href="http://i.domainimg.com/00/s/MTAyNFg3Njg=/z/eY8AAOxyUrZS695z/$_78.JPG"/>
<pic:link rel="moreadsthumb" href="http://i.domainimg.com/00/s/MTAyNFg3Njg=/z/eY8AAOxyUrZS695z/$_77.JPG"/>
</pic:picture>
<pic:picture>
<pic:link rel="extrabig" href="http://i.domainimg.com/00/s/NzY4WDEwMjQ=/z/tKgAAMXQVERS696V/$_80.JPG"/>
<pic:link rel="preview" href="http://i.domainimg.com/00/s/NzY4WDEwMjQ=/z/tKgAAMXQVERS696V/$_81.JPG"/>
<pic:link rel="big" href="http://i.domainimg.com/00/s/NzY4WDEwMjQ=/z/tKgAAMXQVERS696V/$_79.JPG"/>
<pic:link rel="thumb" href="http://i.domainimg.com/00/s/NzY4WDEwMjQ=/z/tKgAAMXQVERS696V/$_78.JPG"/>
<pic:link rel="moreadsthumb" href="http://i.domainimg.com/00/s/NzY4WDEwMjQ=/z/tKgAAMXQVERS696V/$_77.JPG"/>
</pic:picture>
</pic:pictures>
</ad:ad>
<ad:ad id="1046912276">
<ad:price>
<types:currency-iso-code>
<types:value localized-label="£">GBP</types:value>
</types:currency-iso-code>
<types:amount>130</types:amount>
</ad:price>
<ad:title>BEYONCE MRS CARTER SHOW**TOP PRICE SEATS* REDUCED PRICE!!</ad:title>
<ad:ad-status>
<ad:value>ACTIVE</ad:value>
</ad:ad-status>
<ad:start-date-time>2014-01-31T17:56:01.000Z</ad:start-date-time>
<feat:features-active/>
<cat:category id="84">
<cat:id-name>pop-music-tickets</cat:id-name>
<cat:localized-name>Pop</cat:localized-name>
</cat:category>
<loc:locations>
<loc:location id="22010">
<loc:id-name>birmingham-city-centre</loc:id-name>
<loc:localized-name>Birmingham City Centre</loc:localized-name>
</loc:location>
<loc:location id="10000392">
<loc:id-name>uk</loc:id-name>
<loc:localized-name>United Kingdom</loc:localized-name>
</loc:location>
<loc:location id="10000393">
<loc:id-name>england</loc:id-name>
<loc:localized-name>England</loc:localized-name>
</loc:location>
<loc:location id="11000043">
<loc:id-name>west-midlands</loc:id-name>
<loc:localized-name>West Midlands</loc:localized-name>
</loc:location>
<loc:location id="10000347">
<loc:id-name>birmingham</loc:id-name>
<loc:localized-name>Birmingham</loc:localized-name>
</loc:location>
</loc:locations>
<pic:pictures>
<pic:picture>
<pic:link rel="extrabig" href="http://i.domainimg.com/00/s/ODAwWDQ1MQ==/z/OAIAAMXQVT9S6-Ow/$_80.JPG"/>
<pic:link rel="preview" href="http://i.domainimg.com/00/s/ODAwWDQ1MQ==/z/OAIAAMXQVT9S6-Ow/$_81.JPG"/>
<pic:link rel="big" href="http://i.domainimg.com/00/s/ODAwWDQ1MQ==/z/OAIAAMXQVT9S6-Ow/$_79.JPG"/>
<pic:link rel="thumb" href="http://i.domainimg.com/00/s/ODAwWDQ1MQ==/z/OAIAAMXQVT9S6-Ow/$_78.JPG"/>
<pic:link rel="moreadsthumb" href="http://i.domainimg.com/00/s/ODAwWDQ1MQ==/z/OAIAAMXQVT9S6-Ow/$_77.JPG"/>
</pic:picture>
</pic:pictures>
</ad:ad>
<ad:ad id="1046912270">
<ad:price>
<types:currency-iso-code>
<types:value localized-label="£">GBP</types:value>
</types:currency-iso-code>
<types:amount>0</types:amount>
</ad:price>
<ad:title>Brand New All Bedrooms Furniture - Best Quality & Exclusive Offers</ad:title>
<ad:ad-status>
<ad:value>ACTIVE</ad:value>
</ad:ad-status>
<ad:start-date-time>2014-01-31T17:56:01.000Z</ad:start-date-time>
<feat:features-active/>
<cat:category id="681">
<cat:id-name>other-bedroom-furniture</cat:id-name>
<cat:localized-name>Other Bedroom Furniture & Accs</cat:localized-name>
</cat:category>
<loc:locations>
<loc:location id="10000344">
<loc:id-name>london</loc:id-name>
<loc:localized-name>London</loc:localized-name>
</loc:location>
<loc:location id="10000392">
<loc:id-name>uk</loc:id-name>
<loc:localized-name>United Kingdom</loc:localized-name>
</loc:location>
<loc:location id="10000393">
<loc:id-name>england</loc:id-name>
<loc:localized-name>England</loc:localized-name>
</loc:location>
</loc:locations>
<pic:pictures>
<pic:picture>
<pic:link rel="extrabig" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/S84AAOxy63FS6-No/$_80.JPG"/>
<pic:link rel="preview" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/S84AAOxy63FS6-No/$_81.JPG"/>
<pic:link rel="big" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/S84AAOxy63FS6-No/$_79.JPG"/>
<pic:link rel="thumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/S84AAOxy63FS6-No/$_78.JPG"/>
<pic:link rel="moreadsthumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/S84AAOxy63FS6-No/$_77.JPG"/>
</pic:picture>
<pic:picture>
<pic:link rel="extrabig" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/eHMAAOxyRhBS6-NK/$_80.JPG"/>
<pic:link rel="preview" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/eHMAAOxyRhBS6-NK/$_81.JPG"/>
<pic:link rel="big" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/eHMAAOxyRhBS6-NK/$_79.JPG"/>
<pic:link rel="thumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/eHMAAOxyRhBS6-NK/$_78.JPG"/>
<pic:link rel="moreadsthumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/eHMAAOxyRhBS6-NK/$_77.JPG"/>
</pic:picture>
<pic:picture>
<pic:link rel="extrabig" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/VaIAAOxyOMdS6-NV/$_80.JPG"/>
<pic:link rel="preview" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/VaIAAOxyOMdS6-NV/$_81.JPG"/>
<pic:link rel="big" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/VaIAAOxyOMdS6-NV/$_79.JPG"/>
<pic:link rel="thumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/VaIAAOxyOMdS6-NV/$_78.JPG"/>
<pic:link rel="moreadsthumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/VaIAAOxyOMdS6-NV/$_77.JPG"/>
</pic:picture>
<pic:picture>
<pic:link rel="extrabig" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/KdYAAOxyVaBS6-Na/$_80.JPG"/>
<pic:link rel="preview" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/KdYAAOxyVaBS6-Na/$_81.JPG"/>
<pic:link rel="big" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/KdYAAOxyVaBS6-Na/$_79.JPG"/>
<pic:link rel="thumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/KdYAAOxyVaBS6-Na/$_78.JPG"/>
<pic:link rel="moreadsthumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/KdYAAOxyVaBS6-Na/$_77.JPG"/>
</pic:picture>
<pic:picture>
<pic:link rel="extrabig" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/mEwAAOxyOlhS6-Nh/$_80.JPG"/>
<pic:link rel="preview" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/mEwAAOxyOlhS6-Nh/$_81.JPG"/>
<pic:link rel="big" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/mEwAAOxyOlhS6-Nh/$_79.JPG"/>
<pic:link rel="thumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/mEwAAOxyOlhS6-Nh/$_78.JPG"/>
<pic:link rel="moreadsthumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/mEwAAOxyOlhS6-Nh/$_77.JPG"/>
</pic:picture>
<pic:picture>
<pic:link rel="extrabig" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/Va0AAOxycmBS6-Ny/$_80.JPG"/>
<pic:link rel="preview" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/Va0AAOxycmBS6-Ny/$_81.JPG"/>
<pic:link rel="big" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/Va0AAOxycmBS6-Ny/$_79.JPG"/>
<pic:link rel="thumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/Va0AAOxycmBS6-Ny/$_78.JPG"/>
<pic:link rel="moreadsthumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/Va0AAOxycmBS6-Ny/$_77.JPG"/>
</pic:picture>
<pic:picture>
<pic:link rel="extrabig" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/myoAAOxyOlhS6-N~/$_80.JPG"/>
<pic:link rel="preview" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/myoAAOxyOlhS6-N~/$_81.JPG"/>
<pic:link rel="big" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/myoAAOxyOlhS6-N~/$_79.JPG"/>
<pic:link rel="thumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/myoAAOxyOlhS6-N~/$_78.JPG"/>
<pic:link rel="moreadsthumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/myoAAOxyOlhS6-N~/$_77.JPG"/>
</pic:picture>
<pic:picture>
<pic:link rel="extrabig" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/cLoAAOxyVLNS6-OE/$_80.JPG"/>
<pic:link rel="preview" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/cLoAAOxyVLNS6-OE/$_81.JPG"/>
<pic:link rel="big" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/cLoAAOxyVLNS6-OE/$_79.JPG"/>
<pic:link rel="thumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/cLoAAOxyVLNS6-OE/$_78.JPG"/>
<pic:link rel="moreadsthumb" href="http://i.domainimg.com/00/s/NDUwWDYwMA==/z/cLoAAOxyVLNS6-OE/$_77.JPG"/>
</pic:picture>
<pic:picture>
<pic:link rel="extrabig" href="http://i.domainimg.com/00/s/MjgzWDQwMA==/z/V6EAAOxycmBS6-OJ/$_80.JPG"/>
<pic:link rel="preview" href="http://i.domainimg.com/00/s/MjgzWDQwMA==/z/V6EAAOxycmBS6-OJ/$_81.JPG"/>
<pic:link rel="big" href="http://i.domainimg.com/00/s/MjgzWDQwMA==/z/V6EAAOxycmBS6-OJ/$_79.JPG"/>
<pic:link rel="thumb" href="http://i.domainimg.com/00/s/MjgzWDQwMA==/z/V6EAAOxycmBS6-OJ/$_78.JPG"/>
<pic:link rel="moreadsthumb" href="http://i.domainimg.com/00/s/MjgzWDQwMA==/z/V6EAAOxycmBS6-OJ/$_77.JPG"/>
</pic:picture>
</pic:pictures>
</ad:ad>
<types:paging>
<types:numFound>960522</types:numFound>
<types:link rel="self" href="https://device-api.domainnone.com/api/ads?locationId=10000392&categoryId=2549&page=0&size=2&_ver=1.17"/>
<types:link rel="next" href="https://device-api.domainnone.com/api/ads?locationId=10000392&categoryId=2549&page=1&size=2&_ver=1.17"/>
</types:paging>
<ad:ads-search-options>
<ad:locationId>10000392</ad:locationId>
<ad:categoryId>2549</ad:categoryId>
<ad:sortType>
<types:value>DATE_DESCENDING</types:value>
</ad:sortType>
</ad:ads-search-options>
<ad:ads-search-histograms/>
</ad:ads>
今天需要苹果MacBookPro-Air-Retina-iMac电话
忙碌的
2014-01-31T17:54:24.000Z
需要电脑电话
电脑及;电话
温布尔登
温布尔登
英国
大不列颠联合王国
英格兰
英格兰
伦敦西南部
伦敦西南部
伦敦
伦敦
英镑
140
带电池的乡巴佬高尔夫手推车、手推车袋、Callaway高尔夫球杆
忙碌的
2014-01-31T17:50:21.000Z
高尔夫球器材
高尔夫球器材
约克
约克
北约克郡
北约克郡
英国
大不列颠联合王国
英格兰
英格兰
英镑
130
碧昂丝·卡特夫人秀**最高价座位*降价!!
忙碌的
2014-01-31T17:56:01.000Z
流行音乐票
流行音乐
伯明翰市中心
伯明翰市中心
英国
大不列颠联合王国
英格兰
英格兰
西米德兰兹
西米德兰兹
伯明翰
伯明翰
英镑
0
全新全卧室家具-最佳质量和;独家优惠
忙碌的
2014-01-31T17:56:01.000Z
其他卧室家具
其他卧室家具及;Accs
伦敦
伦敦
英国
大不列颠联合王国
英格兰
英格兰
960522
10000392
2549
降序日期
如果你帮我,我会让你出名的 通用转换将不起作用。但您可以使用Xpath从XML中获取数据,并构建自己的数据结构(数组、对象等等),就像使用SQL从数据库中获取数据一样 我不使用SimpleXML,而是直接使用DOM(SimpleXML是DOM的包装器)。首先,需要将XML加载到DOM文档中,为其创建一个Xpath对象,并注册数据所在的名称空间。您可以独立于XML源定义自己的别名,但在示例中我将使用相同的别名
$dom = new DOMDocument();
//$dom->load($xmlFile);
$dom->loadXml($xmlString);
$xpath = new DOMXpath($dom);
$xpath->registerNamespace('ad', 'http://www.ebayclassifiedsgroup.com/schema/ad/v1');
$xpath->registerNamespace('cat', 'http://www.ebayclassifiedsgroup.com/schema/category/v1');
现在可以使用DOMXpath::evaluate()从XML获取数据。根据表达式,结果将是节点列表或标量。像//element name
这样的表达式将返回一个列表,但count(//element name
)将返回一个数字。evaluate()的第二个参数是上下文,如果有名称空间,则第三个参数应始终为FALSE
$result = array();
$ads = $xpath->evaluate('/ad:ads/ad:ad', NULL, FALSE);
foreach ($ads as $ad) {
$categories = [];
foreach ($xpath->evaluate('cat:category', $ad, FALSE) as $category) {
$categories[$category->getAttribute('id')] = [
'name' => $xpath->evaluate('string(cat:id-name)', $category, FALSE),
'title' => $xpath->evaluate('string(cat:localized-name)', $category, FALSE)
];
}
$result[] = [
'id' => $ad->getAttribute('id'),
'title' => $xpath->evaluate('string(ad:title)', $ad, FALSE),
'categories' => $categories
];
}
SimpleXMLs xpath()方法的工作原理相同,但有一个很大的区别——它只能返回列表,不能返回标量。如果您将XML缩减到具有指导意义的最小值,正确设置格式,演示您尝试过的内容,确切失败的内容,然后问一个精确的问题,我将为您搭建一座通往天堂的阶梯;-)最初的xml提供了30个项目,似乎4个(尽管我只要求2个)是我能得到的最小值。我不想手动删除项目b/c最有可能的是XML会被破坏,因为我不理解它请看一下,作为一个快速的例子