Запрос Xpath соответствует первой строке вместо текста () - PullRequest
0 голосов
/ 11 июля 2019

У меня есть XML-файл, подобный этому:

<Doc> A0B100 </Doc>
<Doc> A0B101 </Doc>
<Doc> B1A100 </Doc>
<Doc> B1A101 </Doc>

Я использую запрос xpath для выбора значения узла, который содержит «B1» мой код:

$txtSearch = "B1";
$titles = $xpath->query("Doc[contains(text(),\"$txtSearch\")]");

Возвращено все 4 значения:

A0B100 
A0B101 
B1A100 
B1A101 

Но я хочу, чтобы только text () совпадал с первой строкой, которую я ожидал получить в результате

B1A100 
B1A101 

Как я могу это сделать?

1 Ответ

0 голосов
/ 11 июля 2019

используйте этот xpath

Doc[starts-with(normalize-space(text()),\"$txtSearch\")]

добавлен normalize-space() для обрезки пробелов в вашем образце xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...