Добрый день! Есть xml вида:
<street street="улица1">
<house house="1">
<appartment appartment="1"/>
<appartment appartment="2"/>
<appartment appartment="4"/>
</house>
<house house="8">
<appartment appartment="1"/>
<appartment appartment="2"/>
</house>
</street >
<street street="улица2">
<house house="1">
<appartment appartment="1"/>
<appartment appartment="2"/>
<appartment appartment="4"/>
</house>
<house house="8">
<appartment appartment="1"/>
<appartment appartment="2"/>
</house>
</street >
Мне нужно выбрать квартиры только в определенном доме на определенной улице (в реальном XML сотни улиц и тысячи домов).
Дома на определенной улице выбираю через xpath, полученное пропускаю через цикл и получаю дома
$xml = simplexml_load_file('file.xml');
$names = $xml->xpath("//street[@street='".$street."']");
foreach($names as $street) {
foreach($street->house as $house) {
$house_num = $house[house];
echo '<option value="' . $house_num . '">' . $house_num . '</option>';
}
Вопрос. Как сделать тоже самое для квартир. Если в этот же цикл вставить перебор по квартирам - будут повторяться одни и те же квартиры по кол-ву выбранных xpath домов. Можно ли через x-path выбрать дом, где атрибут = чему-то, который находтся в теге улица, где атрибут = чему-то....
Что-то типа
$xml->xpath("//house[@house='".$house."' AND ../street[@street='".$street."']]");
Заранее спасибо!