ホームページ  >  記事  >  バックエンド開発  >  PHP で SimpleXMLElement から内部 XML コンテンツを抽出する方法

PHP で SimpleXMLElement から内部 XML コンテンツを抽出する方法

DDD
DDDオリジナル
2024-10-27 19:09:30647ブラウズ

How to Extract Inner XML Content from SimpleXMLElement in PHP?

PHP SimpleXML: 内部 XML へのアクセス

PHP の SimpleXML を使用した XML 操作では、多くの場合、要素の内部 HTML コンテンツを取得する必要があります。囲みタグなし。この記事では、SimpleXML を使用してこれを実現する方法について説明します。

次の XML 構造について考えてみましょう。

<code class="xml"><qa>
  <question>Who are you?</question>
  <answer>Who who, <strong>who who</strong>, <em>me</em></answer>
</qa></code>

「answer」要素の内部コンテンツを文字列として抽出するには、次のメソッドを使用します。利用可能:

asXML() を使用:

<code class="php">$answer = new SimpleXMLElement($xml);
$innerXML = $answer->asXML(); // Returns "<answer>Who who, <strong>who who</strong>, <em>me</em></answer>"</code>

DOMDocument を使用:

<code class="php">$answer = new SimpleXMLElement($xml);
$dom = dom_import_simplexml($answer);
$innerXML = $dom->ownerDocument->saveXML($dom); // Returns "Who who, <strong>who who</strong>, <em>me</em>"</code>

を使用カスタム関数:

次のカスタム関数を定義して内部 XML を抽出できます:

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

この関数の使用:

<code class="php">$innerXML = SimpleXMLElement_innerXML($answer); // Returns "Who who, <strong>who who</strong>, <em>me</em>"</code>

これらのメソッドは以下を提供しますSimpleXML 要素の内部 XML を抽出するオプションにより、XML コンテンツの効率的な操作と取得が可能になります。

以上がPHP で SimpleXMLElement から内部 XML コンテンツを抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。