「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PHP で SimpleXMLElement から内部 XML コンテンツを抽出する方法

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

2024 年 11 月 16 日に公開
ブラウズ:804

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

「answer」要素の内容だけを取得するには(つまり、「誰が、誰が誰」)する必要があります。デフォルトの 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 変数には、目的の文字列「Who who, who who, me」が含まれます。 。このアプローチでは、内部 XML 内の元の書式設定と文字エンティティが保存されるため、抽出されたコンテンツの整合性を維持するのに最適です。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3