PHP SimpleXMLは、親の任意のレベルで特定の子ノードを検索します

アンナ

SimpleXMLを使用してxmlファイルを解析しています。私はそれをループしていて、各ノードで1つの特定のタグの値を取得する必要があります。これが例です

<node>
    <child1></child1>
    <findme></findme>
    <child2></child2>
</node>
<node>
    <child1>
        <findme></findme>
    </child1>
    <child2></child2>
</node>
<node>
    <child1></child1>
    <child2>
      <another>
            <findme></findme>
      </another>
    </child2>
</node>

各ノードでfindmeタグを取得する必要がありますしかし、それがどのレベルになり得るかはわかりません。私が知っているのはタグ名だけです。

アンナ

私が思いついた唯一の決定は、この再帰関数を使用することでした

foreach($xml as $prod){
  ...
  $findme = getNode($prod, 'fabric');
  ...
}

function getNode($obj, $node) {
    if($obj->getName() == $node) { 
        return $obj;
    }
    foreach ($obj->children() as $child) {
        $findme = getNode($child, $node);
        if($findme) return $findme;
    }
}

更新しました

また、コメントで示唆されているように、次のようにDOMDocumentクラスを使用できます。

 $dom = new DOMDocument();
 $dom->LoadXML($xmlStr);
 $nodes = $dom->getElementsByTagName('node');

 foreach($nodes as $node)
 { 
    $findme = $node->getElementsByTagName("findme")->item(0);
    echo $findme->textContent."\r";
 }

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PHP FTPで特定のファイルを拡張子で検索し、ダウンロードします

分類Dev

SimpleXMLを使用してPHPで特定のXMLノードにアクセスする

分類Dev

phpツリーは子ノードのすべての親のリストを取得します

分類Dev

PHP Sqlキーワードで複数のテーブルを検索し、検索結果を表示します

分類Dev

PHP:特定の値を持つ配列からすべてのレコードを検索します

分類Dev

unset()を使用してXMLのノードを削除します。PHP / simplexml_load_file

分類Dev

PHPの単純なhtmldomパーサーは任意の文字の文字列を検索します

分類Dev

特定の属性情報を検索するSimpleXML PHP

分類Dev

[PHP] [XML] SimpleXML children()は1つの子のみを返します

分類Dev

javascriptまたはphpで特定の行を検索して取得します

分類Dev

'simplexml'phpからmysqlデータベースへのループは最初の要素のみを返します

分類Dev

PHP simpleXMLは、値に応じてさまざまなノードの値を取得します

分類Dev

phpは、特定のホストで終わるユーザー提供の電子メールアドレスを確認します

分類Dev

htmlテーブルを検索し、phpで特定の行/列を記述します

分類Dev

PHP内でループした特定のレコードを編集します

分類Dev

PHPでは、ファイルを自動ロードするときに、PHPはこれらのファイルをどこで検索しますか?

分類Dev

Oracle10gの任意の親ノードのすべての子ノードを検索します

分類Dev

phpでxmlファイルのノードを削除します

分類Dev

simpleXML(php)を使用してxpathで親ノードを取得する方法

分類Dev

PHPはファイル内の画像srcを検索します

分類Dev

私は「安定結婚」のphpコードを検索しています

分類Dev

Hibernate lucene検索を使用して、特定の親の子レコードフィールドを検索します

分類Dev

連想配列の第2レベルのPHP検索アイテムとそれを削除します

分類Dev

ノードの削除がSimpleXML(PHP)で機能しない

分類Dev

PHP配列検索は複数のキーを返します

分類Dev

phpを使用してxmlコードで特定の識別子を取得します

分類Dev

phpを使用してxmlコードで特定の識別子を取得します

分類Dev

phpは検索結果の同じページで価格を更新します

分類Dev

子の深さ、ルート、親の量を指定して、PHPでツリー構造を作成します

Related 関連記事

  1. 1

    PHP FTPで特定のファイルを拡張子で検索し、ダウンロードします

  2. 2

    SimpleXMLを使用してPHPで特定のXMLノードにアクセスする

  3. 3

    phpツリーは子ノードのすべての親のリストを取得します

  4. 4

    PHP Sqlキーワードで複数のテーブルを検索し、検索結果を表示します

  5. 5

    PHP:特定の値を持つ配列からすべてのレコードを検索します

  6. 6

    unset()を使用してXMLのノードを削除します。PHP / simplexml_load_file

  7. 7

    PHPの単純なhtmldomパーサーは任意の文字の文字列を検索します

  8. 8

    特定の属性情報を検索するSimpleXML PHP

  9. 9

    [PHP] [XML] SimpleXML children()は1つの子のみを返します

  10. 10

    javascriptまたはphpで特定の行を検索して取得します

  11. 11

    'simplexml'phpからmysqlデータベースへのループは最初の要素のみを返します

  12. 12

    PHP simpleXMLは、値に応じてさまざまなノードの値を取得します

  13. 13

    phpは、特定のホストで終わるユーザー提供の電子メールアドレスを確認します

  14. 14

    htmlテーブルを検索し、phpで特定の行/列を記述します

  15. 15

    PHP内でループした特定のレコードを編集します

  16. 16

    PHPでは、ファイルを自動ロードするときに、PHPはこれらのファイルをどこで検索しますか?

  17. 17

    Oracle10gの任意の親ノードのすべての子ノードを検索します

  18. 18

    phpでxmlファイルのノードを削除します

  19. 19

    simpleXML(php)を使用してxpathで親ノードを取得する方法

  20. 20

    PHPはファイル内の画像srcを検索します

  21. 21

    私は「安定結婚」のphpコードを検索しています

  22. 22

    Hibernate lucene検索を使用して、特定の親の子レコードフィールドを検索します

  23. 23

    連想配列の第2レベルのPHP検索アイテムとそれを削除します

  24. 24

    ノードの削除がSimpleXML(PHP)で機能しない

  25. 25

    PHP配列検索は複数のキーを返します

  26. 26

    phpを使用してxmlコードで特定の識別子を取得します

  27. 27

    phpを使用してxmlコードで特定の識別子を取得します

  28. 28

    phpは検索結果の同じページで価格を更新します

  29. 29

    子の深さ、ルート、親の量を指定して、PHPでツリー構造を作成します

ホットタグ

アーカイブ