У меня есть быстрый вопрос о передаче выражения XPath в качестве значения для атрибута. Поэтому у меня есть следующий документ:Как найти элемент по атрибуту, получив ссылку?
<?xml version="1.0"?>
<personnel>
<person id="EMP01" >
<name><family>Lee</family><given>Ho</given></name>
<email>[email protected]</email>
<salary>100000</salary>
<links>
<subordinate>EMP02</subordinate>
<subordinate>EMP03</subordinate>
</links>
</person>
<person id="EMP02">
<name><family>Chan</family><given>Tai Man</given></name>
<email>[email protected]</email>
<salary>20000</salary>
<links>
<manager>EMP01</manager>
<subordinate>EMP04</subordinate>
<subordinate>EMP05</subordinate>
</links>
</person>
<person id="EMP03">
<name><family>Cheung</family><given>Siu Fan</given></name>
<email>[email protected]</email>
<salary>20200</salary>
<links>
<manager>EMP01</manager>
<subordinate>EMP07</subordinate>
</links>
</person>
<person id="EMP04">
<name><family>Ng</family><given>Ho</given></name>
<email>[email protected]</email>
<salary>11000</salary>
<links>
<manager>EMP02</manager>
</links>
</person>
<person id="EMP05">
<name><family>Chow</family><given>Sing Sing</given></name>
<email>[email protected]</email>
<salary>20050</salary>
<links>
<manager>EMP02</manager>
<subordinate>EMP06</subordinate>
</links>
</person>
<person id="EMP06">
<name><family>Law</family><given>Lai</given></name>
<email>[email protected]</email>
<salary>5050</salary>
<links>
<manager>EMP05</manager>
</links>
</person>
<person id="EMP07">
<name><family>Chan</family><given>Siu Ming</given></name>
<email>[email protected]</email>
<salary>5000</salary>
<links>
<manager>EMP03</manager>
</links>
</person>
И мне нужно выражение XPath, чтобы получить человек-узел менеджера семьи с законом именем, поэтому в данном случае, г-н Чоу. Но как я могу получить это в XPath без явного использования имени Chow?
Моя попытка была:
personnel/person[@id="personnel/person/name/family='Law'"]
Но это на самом деле не работает ... я могу передать XPath в качестве значения для атрибута, как это, или как я могу это сделать?
Вы можете добавить '/ текст()', если вы просто заинтересованы в содержании. – ceving
Ах .... хорошо, я думал, что значения атрибутов всегда должны быть помещены в кавычки ^^ Круто, спасибо! –