«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как извлечь внутренний XML-контент из SimpleXMLElement в PHP?

Как извлечь внутренний XML-контент из SimpleXMLElement в PHP?

Опубликовано 16 ноября 2024 г.
Просматривать:372

How to Extract Inner XML Content from a SimpleXMLElement in PHP?

PHP SimpleXML: доступ к внутреннему XML

В области синтаксического анализа PHP XML расширение SimpleXML позволяет разработчикам с легкостью манипулировать XML-документами. Однако извлечение внутреннего содержимого XML-элемента, исключая окружающие его теги, может оказаться сложной задачей.

Рассмотрим следующий фрагмент XML:

Who are you?Who who, who who, me

Чтобы получить только содержимое элемента «ответ» (т. е. «Кто кто, кто кто, меня»), нам нужно обойти метод asXML() по умолчанию. Вместо этого мы представляем элегантное решение, используя функцию dom_import_simplexml().

function SimpleXMLElement_innerXML($xml)
  {
    $innerXML = '';
    foreach (dom_import_simplexml($xml)->childNodes as $child)
    {
        $innerXML .= $child->ownerDocument->saveXML( $child );
    }
    return $innerXML;
  }

Используя эту функцию, мы можем получить доступ к внутреннему XML любого элемента:

$xml = simplexml_load_string($xmlString);
$innerAnswer = SimpleXMLElement_innerXML($xml->answer);

Результирующая переменная $innerAnswer будет содержать нужную строку: "Кто кто, кто кто, я" . Этот подход сохраняет исходное форматирование и символы во внутреннем XML, что делает его идеальным для поддержания целостности извлеченного содержимого.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3