2017-09-11 5 views
0

私はPHP DOM XPATHを使用しています。私は年がどこにある名とノードの値を取得したいPHP XPATHの属性の値を使ってnodeの名前と値を読み取る

<?xml version="1.0" encoding="UTF-8"?> 
<root xmlns:rank="http://www.w3.org/2001/XMLSchema"> 
    <rank:one year = "2015">99</<rank:one> 
    <rank:two year = "2014">128</rank:two> 
    <rank:three year = "2015">27</rank:three> 
</root> 

以下のようにXML構造を持っている2015

予想される出力はランクです:1 - 99ランク:3 - 27 私は

$xpath->query('//root/[@year="2015"]'); 

としてXPathクエリを記述しようとした私は、このケースでのXPath表現がどうあるべきか

答えて

1

Thを取得しておりません電子のXPath式は、その後、あなたは、それぞれ、その名前と値を取得するためにname()text()を使用することができます

$xpath->query('//root/*[@year="2015"]'); 

でなければなりません。

+0

ありがとうございました。まさに私が欲しいもの。 – hrishi

+0

https://stackoverflow.com/review/suggested-edits/17296854などの推奨編集を拒否しないでください。私たちはStackOverflowを改善しようとしているので、小さな編集でさえ承認されるべきです。そうしなければ、投稿に望ましくないノイズが残ってしまいます。それが望ましいかどうかを判断するには、「あなたに*ありがとうございます*ありがとうございますか?」と尋ねることもできます。また、「あまりにもマイナーな」編集(実際には、 「拒否と編集」を使用してマイナー編集を再度適用して、ノイズを投稿に残さないようにします。 –

関連する問題