>  기사  >  백엔드 개발  >  PHP의 SimpleXMLElement에서 내부 XML 콘텐츠를 추출하는 방법은 무엇입니까?

PHP의 SimpleXMLElement에서 내부 XML 콘텐츠를 추출하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-01 16:00:31863검색

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

PHP SimpleXML: 내부 XML 액세스

PHP XML 구문 분석 영역에서 SimpleXML 확장을 사용하면 개발자가 XML 문서를 쉽게 조작할 수 있습니다. 그러나 주변 요소 태그를 제외하고 XML 요소의 내부 콘텐츠를 추출하는 것은 어려울 수 있습니다.

다음 XML 스니펫을 고려하세요.

<qa>
  <question>Who are you?</question>
  <answer>Who who, <strong>who who</strong>, <em>me</em></answer>
</qa>

" 대답" 요소(예: "Who who, who who, me")에서는 기본 asXML() 메서드를 우회해야 합니다. 대신 dom_import_simplexml() 함수를 사용하는 우아한 솔루션을 소개합니다.

<code class="php">function SimpleXMLElement_innerXML($xml)
  {
    $innerXML = '';
    foreach (dom_import_simplexml($xml)->childNodes as $child)
    {
        $innerXML .= $child->ownerDocument->saveXML( $child );
    }
    return $innerXML;
  }</code>

이 함수를 사용하면 모든 요소의 내부 XML에 액세스할 수 있습니다.

<code class="php">$xml = simplexml_load_string($xmlString);
$innerAnswer = SimpleXMLElement_innerXML($xml->answer);</code>

결과 $ innerAnswer 변수에는 "Who who, who who, me"라는 원하는 문자열이 포함됩니다. 이 접근 방식은 내부 XML 내에서 원래 형식과 문자 엔터티를 유지하므로 추출된 콘텐츠의 무결성을 유지하는 데 이상적입니다.

위 내용은 PHP의 SimpleXMLElement에서 내부 XML 콘텐츠를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.