Выберите первого ребенка<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" />

Может быть решение;) Вито

Другие вопросы по тегам