0

これが私のサンプルxmlファイルです。各要素、属性、およびそれらの値を取得するにはどうすればよいですか。すべてのバージョンのコードと名前、すべてのリリースのコードと名前、すべてのブランドのコードと名前が必要ですか?

<?xml version="1.0" encoding="UTF-8"?>
<PLM_University namespace="DS">
  <ALL_VERSIONS>
    <version code="1" name="V1" description="Version for CLS Products">
      <RELEASES_LIST>
        <release code="7" name=".7" rank="5" description="">
          <BRAND_LIST>
            <BRAND code="WLS" name="Companion">
              <SOLUTIONS_LIST>
                <SOLUTION code="WLS_STU" name="Companion Learning Space" />

              </SOLUTIONS_LIST>
            </BRAND>
          </BRAND_LIST>
        </release>
      </RELEASES_LIST>
    </version>
    <version code="10" name="Matrix10" description="Version for Matrix Products">
        <RELEASES_LIST>
        <release code="6" name=".6" rank="1" description="">
          <BRAND_LIST>
            <BRAND code="ENOVIA" name="ENOVIA Collaborative Innovation">
               <SOLUTIONS_LIST>
                <SOLUTION code="ENOV_MX1" name="ENOVIA MatrixOne" />

               </SOLUTIONS_LIST>
             </BRAND>
           </BRAND_LIST>
          </release>
         <release code="7" name=".7" rank="2" description="">
          <BRAND_LIST>
             <BRAND code="ENOVIA" name="ENOVIA Collaborative Innovation">
               <SOLUTIONS_LIST>
                 <SOLUTION code="ENOV_MX1" name="ENOVIA MatrixOne" />

              </SOLUTIONS_LIST>
            </BRAND>
           </BRAND_LIST>
         </release>
            <release code="8" name=".8" rank="3" description="">
          <BRAND_LIST>
            <BRAND code="ENOVIA" name="ENOVIA Collaborative Innovation">
              <SOLUTIONS_LIST>
            <SOLUTION code="ENOV_MX1" name="ENOVIA MatrixOne" />
              </SOLUTIONS_LIST>
            </BRAND>
          </BRAND_LIST>
        </release>
    </RELEASES_LIST>
    </version>
</ALL_VERSIONS>
</PLM_University>
4

3 に答える 3

0

$xml = simplexml_load_file("data.xml");

foreach($xml->ALL_VERSIONS->version as $child)
{

    echo "バージョンコード: ".$child['code'];
    echo "バージョン名: ".$child['name'];

    foreach($child->RELEASES_LIST->$releaseChild としてリリース)
    {
        echo "リリースコード: ".$releaseChild['code'];
        echo "リリース名: ".$releaseChild['name'];

        echo "ブランドコード: ".$releaseChild->BRAND_LIST->BRAND['code'];
        echo "ブランド名: ".$releaseChild->BRAND_LIST->BRAND['name'];
    }

}


于 2013-02-12T11:38:47.650 に答える
-1

PHPではDOMDocumentを使用できます

http://php.net/manual/en/class.domdocument.php

phpで

例えば ​​:

  <?php
   $handle = fopen("1.xml", "rb");
   $xml= '';
   while (!feof($handle)) {
       $xml .= fread($handle, 8192);
   }
   fclose($handle);

    $dom = new DOMDocument;
    $dom->loadXML($xml);
    $books = $dom->getElementsByTagName('book');
    foreach ($books as $book) {
       echo $book->nodeValue, PHP_EOL;
    }
  ?>

より多くの例については、このページを参照してくださいhttp://www.php.net/manual/en/domdocument.getelementsbytagname.php

于 2013-02-12T05:08:28.440 に答える