Выберите первого ребенка<p>в Deliverance
Учитывая следующее содержание:
<div class="content">
<div id="brian">
<p>Hello my name is Alex</p>
<p>My surname is Thomas</p>
<p>My middle name is James</p>
<p>true story...</p>
</div>
</div>
И со следующим в моей теме:
<div id="dave" />
Как так заменить #dave
с первым абзацем? Я пробовал:
<replace content="//div[@class='content']/p" theme="div#dave" />
<replace content="//div[@class='content']/p[1]" theme="div#dave" />
<replace content="children://div[@class='content']/p" theme="meta#description" />
Ни один не работал... Обратите внимание, что .content
похоронен довольно глубоко и может изменить положение, поэтому использование его XPath не вариант. Я имею в виду xPath /div/div/p[1]
так далее...
3 ответа
:first-child
CSS-селектор должен работать - так было бы что-то вроде
<replace content="p:first-child" theme="#dave" />
Для чистого решения xslt попробуйте это:
<replace content="//div[@class='content']/p[1]" theme="div#dave" />
редактировать:
я имел в виду:
<replace content="//div[@class='content']//p[1]" css:theme="div#dave" />
или же
<replace content="//div[@class='content']/div/p[1]" css:theme="div#dave" />
<replace css:content=".content p:first-child" css:theme="#dave" />
Может быть решение;) Вито