-2

重複の可能性:
xml ファイルのノードとノードの値を CRUD する単純なプログラム

PHPでxmlファイルの一部のデータを変更したいと思います。

だから私のxmlファイルにはこれがあります:

 <items><item href="p002.xhtml" id="p002" media-type="application/xhtml+xml"/>
 <item href="img/b002.jpg" id="b002" media-type="image/jpeg"/>
 <item href="p003.xhtml" id="p003" media-type="application/xhtml+xml"/>
 <item href="img/b003.jpg" id="b003" media-type="image/jpeg"/>
 <item href="p004.xhtml" id="p004" media-type="application/xhtml+xml"/>
 <item href="img/b004.jpg" id="b004" media-type="image/jpeg"/>
 <item href="p005.xhtml" id="p005" media-type="application/xhtml+xml"/>
 <item href="img/b005.jpg" id="b005" media-type="image/jpeg"/></items>

ファイルを開き、0003 より大きいすべての項目を削除して、変更を保存したいと思います。この抽出の間にいくつかのタグがあります。

結果:

 <items><item href="p002.xhtml" id="p002" media-type="application/xhtml+xml"/>
 <item href="img/b002.jpg" id="b002" media-type="image/jpeg"/>
 <item href="p003.xhtml" id="p003" media-type="application/xhtml+xml"/>
 <item href="img/b003.jpg" id="b003" media-type="image/jpeg"/></items>

しようとしている:

if( ! $xml = simplexml_load_file("pack.xml") ) { 
    echo 'unable to load XML file'; 
} 
else { 
echo "<ul>";
    foreach($xml->items->item as $v ){
        //echo "<li>".$v[href]."</li>";
        if($v[href]=="p003.xhtml" || $v[href]=="img/bg003.jpg"){
            echo "<li>".$v[href]."</li>";
        }

    }
echo "</ul>";
} 

p003.xhtml と img/bg003.jpg より大きいことを確認するにはどうすればよいですか?

4

1 に答える 1

1

を使用してファイルを解析する必要がありますsimplexml。これにより、作業に適した DOM のようなクラスのセットが生成されます。これらのクラスから、基準で要素を検索し、それらを削除してから、xml ツリーをテキストに保存できます。

于 2012-06-21T11:36:46.800 に答える