<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xml:base="http://www.example.com/feeds/events.xml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:og="http://ogp.me/ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
<channel>
<title>Event Calendar</title>
<link>http://www.example.com/feeds/events.xml</link>
<description></description>
<language>en</language>
<item>
<title>Thanksgiving Break 2015</title>
<link>http://www.example.com/event/42811211</link>
<description><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>Happy Holidays.</p></div></div></div><div class="field field-name-field-date field-type-datetime field-label-inline clearfix"><div class="field-label">Date:&nbsp;</div><div class="field-items"><div class="field-item even"><span class="date-display-single" property="dc:date" datatype="xsd:dateTime" content="2015-11-25T00:00:00-05:00">Wednesday, November 25, 2015 (All day)</span></div><div class="field-item odd"><span class="date-display-single" property="dc:date" datatype="xsd:dateTime" content="2015-11-26T00:00:00-05:00">Thursday, November 26, 2015 (All day)</span></div><div class="field-item even"><span class="date-display-single" property="dc:date" datatype="xsd:dateTime" content="2015-11-27T00:00:00-05:00">Friday, November 27, 2015 (All day)</span></div></div></div><div class="field field-name-field-location field-type-text field-label-inline clearfix"><div class="field-label">Location:&nbsp;</div><div class="field-items"><div class="field-item even">Blacksburg, VA</div></div></div></description>
<pubDate>Wed, 19 Aug 2015 17:20:12 +0000</pubDate>
<dc:creator>Cronus</dc:creator>
<guid isPermaLink="false">311191 at http://www.example.com</guid>
<category domain="http://www.example.com/event-categories/othermiscellaneous">Other/Miscellaneous</category>
</item>
</channel>
</rss>
Я пытаюсь извлечь все элементы, встроенные в вложенных DIV тегов в XML выше в массив таким образом, что все элементы извлекаются отдельно в зависимости от типа, например: Дата и местоположение. Идеальный выход будет выглядеть так:Получить все элементы вложенных DIV тегов с помощью DOM
Title : Thanksgiving Break 2015
Link : http://www.example.com/event/42811211
Description : Happy Holidays.
Date : Wednesday, November 25, 2015 (All day),
Thursday, November 26, 2015 (All day),
Friday, November 27, 2015 (All day)
Location : Blacksburg, VA
Я новичок в PHP и DOM, и я искренне ценю помощь в этом коде. Это то, что у меня есть до сих пор
<?php
$rss = simplexml_load_file('http://www.example.com/feeds/events.xml');
$html = "";
$dom = new DOMDocument(); // the HTML parser used for descriptions' HTML
foreach ($rss->channel->item as $item) {
$title = $item->title;
$link = $item->link;
$description = $item->description;
foreach ($description as $desc)
{
$dom->loadHTML($desc);
$html = simplexml_import_dom($dom)->body;
// ?????
}
$html .= "Title : $title <br /> Link : $link <br /> Description : $description <br /> Date : <br /> Location : <hr>";
}
echo $html;
?>
Заранее благодарен!
Привет. Спасибо за ответ. Я не вижу, как этот код достигнет конечного результата. Код здесь не учитывает вложенные теги div, что является основной проблемой здесь. Не могли бы вы поделиться своей логикой? – user2060870
Попробуйте второй сегмент. –