Мой record.xml выглядит следующим образом:PHP XPath запросов получить узлы, содержащие Mutiple суб струне
<record>
<name>john</name>
<gender>male</gender>
<subject>mathematics, english, science</subject>
</record>
<record>
<name>jamie</name>
<gender>female</gender>
<subject>mathematics, science</subject>
</record>
<record>
<name>jamie</name>
<gender>female</gender>
<subject>social-science, english</subject>
</record>
Я хочу написать XPATH запрос, который будет возвращать записи узел, содержащий один или более указанные предметы.
Для примера:
Если хотите получить запись студента с предметом математики и науки
затем второй отчет должен быть возвращен т.е.
<record>
<name>jamie</name>
<gender>female</gender>
<subject>mathematics, science</subject>
</record>
Это то, что я сделал до сих пор:
<?php
$xmldoc = new DOMDocument();
$xmldoc->load('record.xml');
$xpathvar = new Domxpath($xmldoc);
$res = $xpathvar->query('//record/subject[. = "science"]');
foreach($res as $data){
echo $data->textContent.'<br>';
}
?>
Я хочу, чтобы добиться результата то вроде этого:
<?php
$xmldoc = new DOMDocument();
$xmldoc->load('record.xml');
$xpathvar = new Domxpath($xmldoc);
$res = $xpathvar->query('//record/subject[. = "science" and mathematics]');
foreach($res as $data){
echo $data->textContent.'<br>';
}
?>
Какие проблемы вы бежите в? Какую библиотеку PHP вы используете? – chris85
@ chris85 Я обновил вопрос – Ajay