Выберите первого ребенка <p>в Deliverance - PullRequest
2 голосов
/ 04 октября 2011

С учетом следующего содержания:

<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 ]

0 голосов
/ 04 октября 2011

Для чистого решения xslt попробуйте это:

<replace content="//div[@class='content']/p[1]" theme="div#dave" />

edit :

я имел в виду:

 <replace content="//div[@class='content']//p[1]" css:theme="div#dave" />

или

<replace content="//div[@class='content']/div/p[1]" css:theme="div#dave" />
0 голосов
/ 17 октября 2011

Селектор :first-child CSS должен работать - так что это будет что-то вроде

<replace content="p:first-child" theme="#dave" />

0 голосов
/ 04 октября 2011
<replace css:content=".content p:first-child" css:theme="#dave" />

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

...