2011-12-26 28 views
2

これは私のXMLです:PHP XPATH評価

<?xml version="1.0" encoding="ISO-8859-1"?> 
<Translation language="en-US"> 
    <Field Name="SenderName">QueWay</Field> 
    <Field Name="PasswordRecovery">Password Recovery</Field> 
</Translation> 

今私は、XPathを使用したテキスト "QueWay" を選択するためのPHPで欲しいです。私はこれまでのところは良い持っている:

$xml = new DOMDocument; 
$xml->load('../xdata/xml/translation/en-US/emails.xml'); 

$xpath = new DOMXPath($xml); 
$hrefs = $xpath->evaluate("/Translation/Field[@Name = 'SenderName']"); 

var_dump($hrefs); 

そして、何それは私が、私はそれをエコーすることができないオブジェクトでいます...

することは誰も私を助けることができますか?

答えて

2

DOMXPath::evaluate()は、DOMNodeListを返します。あなたはそうのような要素のデータにアクセスすることができます

$name = $hrefs->item(0)->nodeValue; // QueWay 
+0

オウは、あなたに感謝正常に動作します。だからDOMNodeListは実用的に何のリスト/配列を返しますか?すべてのellements、ノード...? – Master345

+2

@RowMinds: 'DOMNodeList'は' item() 'メソッドでアクセスできる' DOMNode'を格納するオブジェクトです。 –

+0

ok、私は完全にはっきりと分かっています、ありがとう:) – Master345

0

は、今私は、XPathを使用したテキスト「QueWay」を選択するPHPで欲しいです。

評価されたときは、その文字列を生成するXPath式はです:

string(/*/Field[@Name='SenderName'])