"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como extrair conteúdo XML interno de um SimpleXMLElement em PHP?

Como extrair conteúdo XML interno de um SimpleXMLElement em PHP?

Publicado em 2024-11-16
Navegar:515

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

PHP SimpleXML: Acessando XML interno

No domínio da análise PHP XML, a extensão SimpleXML permite que os desenvolvedores manipulem documentos XML com facilidade. No entanto, extrair o conteúdo interno de um elemento XML, excluindo as tags do elemento circundante, pode ser um desafio.

Considere o seguinte snippet XML:

Who are you?Who who, who who, me

Para recuperar apenas o conteúdo do elemento "resposta" (ou seja, "Quem quem, quem quem, eu"), precisamos ignore o método asXML() padrão. Em vez disso, apresentamos uma solução elegante usando a função dom_import_simplexml().

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

Ao empregar esta função, podemos acessar o XML interno de qualquer elemento:

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

A variável $innerAnswer resultante conterá a string desejada: "Quem quem, quem quem, me" . Essa abordagem preserva a formatação original e as entidades de caracteres dentro do XML interno, tornando-a ideal para manter a integridade do conteúdo extraído.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3