Есть XML-файл, из которого в HTML-страницу с помощью php-скрипта выводятся определенные значения (скрипт получил готовый)
Пример XML
<?xml version="1.0" encoding="UTF-8"?>
<Book>
<Userfields>
<Name ID="7">ISBN</Name>
<Name ID="1">Масса</Name>
<Name ID="2">Размеры</Name>
<Name ID="4">Томов</Name>
</Userfields>
<ID>75287</ID>
<Title>Лев Толстой: Война и мир: Роман-эпопея</Title>
<Description>
<![CDATA[Роман в 4-х томах]]>
</Description>
<Autor>Толстой Лев Николаевич</Autor>
<Pages>968</Pages>
<Cover>Твердый переплет</Cover>
<UserFields>
<UserField>
<ID>7</ID>
<Name>ISBN</Name>
<Value>5-699-08660-0</Value>
</UserField>
<UserField>
<ID>1</ID>
<Name>Масса</Name>
<Value>2226 г.</Value>
</UserField>
<UserField>
<ID>2</ID>
<Name>Размеры</Name>
<Value>275x190x55 мм</Value>
</UserField>
<UserField>
<ID>4</ID>
<Name>Томов</Name>
<Value>4 тома</Value>
</UserField>
</UserFields>
</Book>
кусок php-кода который нужно дополнить:
<?php
foreach ($xml->Book as $book)
{
$id = $book->ID;
if ($id==$select)
{
$title = iconv('UTF-8', 'windows-1251', ($book->Title)); // получаем значение тега <Title>
$description = iconv('UTF-8', 'windows-1251', ($book->Description));// получаем значение тега <Description>
$autor = iconv('UTF-8', 'windows-1251', ($book->Autor));
$pages = $book->Pages;
$bookid = $book->ID;
$cover = $book->Cover;
$isbn = $book->UserFields->UserField->Value; // Пытаюсь "вытащить" значение тега <ISBN><Value>????<Value></ISBN>
break;
}
}
?>
Переменные $cover, $title и т.п. далее используются в HTML-странице.
получаем список типа
"Лев Толстой: Война и мир: Роман-эпопея
Автор: Лев Николаевич Толстой
и т.д."
Пытаюсь задать переменные для тегов UserField, с тегов 1 уровня понял как значения берутся, а вот глубже - проблема.
Строка "$isbn = $book->UserFields->UserField->Value;" выдает результат с самого первого UserField, причем где-то сначала по списку может стоять и не "ISBN", а например "Масса", получается неоднозначный результат.
Подскажите, пожалуйста, как правильно задать переменные для тегов Userfild, в соответствии с их ID?
Как видно у каждого UserField есть свой уникальный ID и Name
Нужно как-то задать условие "Если в Userfild тег ID имеет значение "7", то взять значение value для переменной $isbn" и так далее, для каждого.
Буду благодарен всем, кто поможет.