Может кто-нибудь сказать мне, почему это выражение XPath недопустимо?
/ReaderDetails/Reader[Pin=('2325', '2421', '2424')]
Полный код:
$dream_team_pins = implode('\', \'', array_map('trim',explode(',',get_option('dream_team_readers'))));
// Takes a comma separated list, converts to an array, and then implodes to a quoted comma separated list.
// This is currently outputting 2325', '2421', '2424 (the missing quotes at start and end are intentional)
$expression = '/ReaderDetails/Reader[Pin=(\''.$dream_team_pins.'\')]';
// I'm adding the single quotes at the start and end back in here so the entire expression is
// outputting /ReaderDetails/Reader[Pin=('2325', '2421', '2424')]
$dream_team_readers = $readers->xpath($expression);
Но я продолжаю получать
Предупреждение: SimpleXMLElement :: xpath (): недопустимое выражение.
В двух словах, я хочу иметь возможность передать несколько значений в выражение xpath (взятые из строки, разделенной запятой), чтобы отфильтровать XML массив.
Какой совет по моему выражению?