Анализ XML-данных, содержащих значения HTML

Привет,

У меня есть конечная точка, которая возвращает данные XML, но с содержанием HTMl,

Пока использование simplexml_load_string($result, "SimpleXMLElement", LIBXML_NOCDATA); возвращает полосатую версию, т.е. все теги были удалены

Пример данных

<JUDGMENT>
    <summary>INTRODUCTION: <br />This appeal borders on the Law of Contract.<br /><br />FACTS: <br />From the statement of claim filed by the plaintiff (respondent) breach of contract and negligence were said to have been committed against it, by the appellant. Amongst other prayers, the respondent claimed:-<br />(a) one hundred million naira as general damages for malicious breach of contract and negligent conduct;<br />(b) sixty-four million, two hundred and fifty thousand, nine hundred and twenty naira as special damages;<br /></summary>
</JUDGMENT>

Разбор моего метода

protected function scaffoldXML($result)
    {
        $xml = simplexml_load_string($result, "SimpleXMLElement", LIBXML_NOCDATA);
        return $json = json_encode($xml);
    }

Возврат

"summary":"INTRODUCTION: This appeal borders on the Law of Contract.FACTS: From the statement of claim filed by the plaintiff (respondent) breach of contract and negligence were said to have been committed against it, by the appellant. Amongst other prayers, the respondent claimed:-(a) one hundred million naira as general damages for malicious breach of contract and negligent conduct;(b) sixty-four million, two hundred and fifty thousand, nine hundred and twenty naira as special damages;(c) one million, five hundred thousand naira only being the cost of this action; and(d) 10% interest per annum on the judgment sum, from the date of judgment until liquidation.The appellant denied the claim and on exchange of pleadings...

Вопрос снова

Я хочу сохранить теги HTML в данных при удалении тегов XML

Пожалуйста, обрати внимание Это полный XML, структура которого не может быть предсказана, и я хочу извлечь все значения в XML, а не только часть

Причина в том, что преобразование объекта SimpleXML в строку возвращает его текстовое содержимое. Я не уверен, почему вы хотите JSON кодировать объект XML, когда у вас уже есть строка (для которой кодировка JSON даже не имеет смысла).

Dormilich 08.05.2018 10:45

Кодирование должно в конечном итоге отправляться как JSON, заметьте, это всего лишь фрагмент XML-данных. Проблема в том, что возвращает функция.

funsholaniyi 08.05.2018 10:51

вы можете сначала получить данные, которые хотите, а затем закодировать их, всего несколько строк, поэтому я не думаю, что это повредит каким-либо образом

Kevin 08.05.2018 10:59

Поскольку в вашем XML нет CDATA, вы можете напрямую передать строку XML в json_encode (). Нет необходимости использовать SimpleXML.

Dormilich 08.05.2018 11:03

Вы действительно затрудняете понять, в чем заключается ваша реальная проблема ... Вы хотите извлечь только часть входного XML-файла? Затем используйте SimpleXMLElement::saveXML, чтобы снова получить XML-представление определенного узла ...

CBroe 08.05.2018 11:05

Я просто хочу извлечь данные HTML из содержимого XML, а не часть XML, функция simplexml_load_file, похоже, удаляет все теги

funsholaniyi 08.05.2018 11:13

SimpleXML не удаляет теги. Вы теряете контент, потому что пытаетесь преобразовать напрямую из XML в JSON, что всегда будет переводом с потерями, потому что эти два формата используют разные структуры. Возьмите на себя одну функцию: извлечение некоторого HTML в виде строки из XML; как только у вас есть строка, используйте другую функцию для другой ответственности по добавлению ее в новую структуру, которая будет сериализована как JSON, если это действительно то, что вам нужно.

IMSoP 08.05.2018 13:36

Если вы согласны с тем, что ваша проблема заключается в «извлечении подмножества XML, включая теги», то это дубликат: stackoverflow.com/questions/1937056/php-simplexml-get-innerx‌ мл (обратите внимание, что для любого парсера здесь нет HTML теги <br /> являются просто частью XML).

IMSoP 08.05.2018 13:39
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
8
38
0

Другие вопросы по теме