dkrnl / SimpleXMLReader

Wrapped XMLReader class, for simple SAX-reading of huge xml.
112 stars 43 forks source link

Как достать значение, если используется CDATA? #8

Closed Xomiak closed 7 years ago

Xomiak commented 7 years ago

Делаю парсинг товаров... В поле описания используется CData: <description><![CDATA[Комфортное и ультрамодное платье в крупную клетку Тиват &amp;ndash; идеальное решение на каждый день для ценительниц всегда актуальной классики в современном исполнении]]></description>

Уже что только не пробовал, но результат получается таков: ["description"]=> object(SimpleXMLElement)#84 (0) { }

Как достать текст в таком случае, подскажите, пожалуйста!

dkrnl commented 7 years ago

$descrittion = trim((string)$nodevar->description); http://stackoverflow.com/questions/2970602/php-how-to-handle-cdata-with-simplexmlelement

wiistriker commented 6 years ago

@dkrnl что если в https://github.com/dkrnl/SimpleXMLReader/blob/master/library/SimpleXMLReader.php#L258 вместо return simplexml_import_dom($node, $className);

использовать

return simplexml_load_string($document->saveXML(), 'SimpleXMLElement', LIBXML_NOCDATA | LIBXML_NOBLANKS);

Будут какие-то побочные эффекты?

dkrnl commented 6 years ago

@wiistriker -- не думаю.