Я использую SimpleXML и xpath для чтения элементов из внешнего XTTML-документа UTF-8. Затем я итеративно повторяю вывод функции asXML () SimpleXML, выполняемой для каждого элемента, возвращаемого из селектора xpath. Но сущность возврата каретки XML досадно вставляется после каждой строки моего кода . В документе XHTML нет никаких дополнительных символов. Чем это вызвано? Похоже, что я перебираю каждый элемент массива, возвращаемый из xpath . Я не получаю сущности, когда просто выводю один элемент напрямую из asXML () SimpleXML (без использования xpath).
<?php
$content = new DOMDocument();
$content->loadHTMLFile(CONTENT.html);
$story = simplexml_import_dom($content->getElementById('story'));
$topics = $story->xpath('div[@class="topic"]');
foreach ($topics as $topic) {
$topicContents = $topic->xpath('div/child::node()'); // Array of elements within 'content'.
foreach ($topicContents as $contentElement) {
echo $contentElement->asXML();
}
}
?>
Выдержка из выведенного кода XHTML с автоматически сгенерированным возвратом каретки XML:
<div class="content">
<p>Lorem ipsum dolor sit amet</p>
<h2>Lorem ipsum</h2>
<p>Lorem ipsum dolor sit amet</p>
<ul>
<li>Lorem ipsum</li>
<li>Lorem ipsum</li>
<li>Lorem ipsum</li>