Как передать значение из html в выражение xpath в php? - PullRequest
0 голосов
/ 01 мая 2020

HTML -

<form action="http://192.168.64.2/file.php" method="GET">
<input type="text" id="venue" name="venue" />

XML -

<a>
<a1>
<author pid = "123"> </author>
<book>Book1</book>
</a1>
<a2>
<editor pid = "123"> </editor>
<book>Book2</book>
</a2>
</a>

Xpath в PHP -

<?php
$venue = $_GET['venue'];
$abc= new DomDocument();
$abc -> load("file.xml");
        $xpath = new DOMXPath($abc);
$xyz = $xpath -> evaluate ("count(//book[.='$venue'] and //author[@pid='123'] and //editor[@pid='123'] [parent::a1 or parent::a2] )");
echo $xyz;
?>

Если значение введено в Форма в HTML находится в теге XML "book" и идентификаторе автора или идентификаторе редактора = 123, тогда я хочу найти количество элементов книги. Я пытаюсь это, но не получаю счет и получаю ошибку. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 02 мая 2020

Для подсчета элементов книги, соответствующих вашим условиям (значение элемента книги = значение формы и значение атрибута предыдущего автора или элементы редактора = 123), используйте это выражение:

count(//book[.='$venue'][preceding-sibling::editor[@pid='123'] or preceding-sibling::author[@pid='123']])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...