2009-07-26 2 views
1

こんにちは私は以下の問題があります。XMLで特定のパラメータを見つける

私はe XMLファイルを持っており、 "uniquename = value2"の値を知っています。私はURLの値を抽出したい。

<set uniquename="value1"> 
    <items> 
    <item> 
     <units> 
     ... 
     </units> 
    </item> 
    <item> 
     <units> 
     ... 
     <url>http://www.something</url> 
     ... 
     </units> 
    </item> 
    </items> 
</set> 
<set uniquename="value2"> 
    <items> 
    <item> 
     <units> 
     ... 
     </units> 
    </item> 
    <item> 
     <units> 
     ... 
     <url>http://www.something2</url> 
     ... 
     </units> 
    </item> 
    </items> 
</set> 

誰かが提案していますか?

ありがとうございます。

答えて

4

あなたは、単にsimplexmlxpathでそれを行うことができます。

$x = simplexml_load_string($xml); 
$nodes = $x->xpath('set[@uniquename="value2"]/items/item/units/url'); 

$url = (string)$nodes[0]; 
+0

+1、シンプルでクリーンな答えを。私はsimplexmlについての答えを返すようになってから、それを使って多くの作業をしていないことに気がつきました。オブジェクト構造がどのようなものか、アクセスする方法がわかりませんでした。それが私が愛していることです。あなたはいつも何かを学びます。 – zombat

+1

おっと、ニックポイント。ポスターのxmlはファイル内にあるので、代わりに 'simplexml_load_file()'を使いたいと思うでしょう。 – zombat

関連する問題