2016-05-22 6 views
2

Я пытаюсь использовать методы DomXPath. Но я получаю странные результаты:DomDocument. Поиск в XML-файле

$xpath = new DomXPath($dom); 
$result = $xpath->query('//students/group/student/name["sid"]'); 
foreach ($result as $node) { 
    echo "<", $node->tagName, "> : ", $node->nodeValue, "\n"; 
     if ($node->nodeValue == "sid"){ 
    echo $node->nodeValue; 
    break; 
} 
} 

https://ideone.com/AYsVye

Почему условие фильтра не работает?

+4

'если (обрезки ($ node-> nodeValue) == "Sid") {' – splash58

+0

@ splash58 Спасибо, что работали. Вы должны дать ему ответ. – rtv

+0

Я сделал это. Удачи! – splash58

ответ

2

Ваш xml содержит пробелы в значении узла arount. Для того, чтобы сравнить их просто удалить, что пробелы:

if (trim($node->nodeValue) == "sid") { 
Смежные вопросы