помогите с xml

J
На сайте с 08.06.2006
Offline
844
385

<debtor-requirements>

<debtor gender="MALE">
<min-age>20</min-age>
<max-repayment-age>60</max-repayment-age>
</debtor>
<debtor gender="FEMALE">
<min-age>20</min-age>
<max-repayment-age>55</max-repayment-age>
</debtor>

как через SimpleXML

получить "MALE: 20-60" и "FEMALE: 20-55"

Спасибо!

siv1987
На сайте с 02.04.2009
Offline
427
#1


foreach($xml as $debtor){
echo $debtor->attributes()->{'gender'}.' '.$debtor->{'min-age'}.' '.$debtor->{'max-repayment-age'};
}
J
На сайте с 08.06.2006
Offline
844
#2

siv1987, СПАСИБО!

J
На сайте с 08.06.2006
Offline
844
#3
<bank>
<id>67</id>
<name>Название банка</name>
<company>Юридическое название банка</company>
<phone>номер телефона</phone>
<rating>
<stars>5.0</stars>
<value>Aaa</value>
</rating>
<link href="http://api.uslugi.yandex.ru/1.0/banks/67" rel="self"/>
<link href="http://www.raiffeisen.ru/" rel="www"/>
<link href="http://www.cbr.ru/credit/coinfo.asp?id=450016096" rel="cbrf"/>
<link href="http://cs-thumb.yandex.net/pic/uslugi/43/14/058dd2f119b4db83ed643f2d8ab60ecd_214x74.jpg" rel="logo"/>

а как получить href только для которого rel="logo" ?

siv1987
На сайте с 02.04.2009
Offline
427
#4

Если не перебирать все узлы, можно выполнить xpath запрос


$res = $xml->xpath('//link[@rel="logo"]');
foreach($res as $row){
echo (string) $row['href'];
}
J
На сайте с 08.06.2006
Offline
844
#5

siv1987, я твой должник

СПАСИБО!

Немного не то

<bank>
<id>67</id>
<name>Название банка</name>
<company>Юридическое название банка</company>
<phone>номер телефона</phone>
<rating>
<stars>5.0</stars>
<value>Aaa</value>
</rating>
<link href="http://api.uslugi.yandex.ru/1.0/banks/67" rel="self"/>
<link href="http://www.raiffeisen.ru/" rel="www"/>
<link href="http://www.cbr.ru/credit/coinfo.asp?id=450016096" rel="cbrf"/>
<link href="http://cs-thumb.yandex.net/pic/uslugi/43/14/058dd2f119b4db83ed643f2d8ab60ecd_214x74.jpg" rel="logo"/>
</bank>

А как чтобы


$res = $xml->xpath('//link[@rel="logo"]');
print $res['href'];

что-то не выходит

siv1987
На сайте с 02.04.2009
Offline
427
#6

Не выходит потому что вы не правильно делаете. Посмотрите еще раз на пример, во первых $res это массив с результатами запроса, во вторых если хотите получить атрибут таким образом нужно привести его к string типу.

echo (string) $res[0]['href'];

При том еще желательно проверить если $res is not empty

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий