xpath. найти элемент с неизвестной глубиной вложенности
От: maxim_t  
Дата: 13.04.10 02:16
Оценка:
парсю html с помощью sgml
получаю из него XmlDocument
через XPath нахожу нужный элемент, но тут приходится учитывать всю структуру документа.
а возможно ли найти элемент по атрибутам не зная как глубоко он зарыт в документе?

например есть документ

<html>
  <body>
    <div>
      <form>
        <h3 class="title">
          hello
        </h3>
      </form>
    <div>
  </body>
</html>


сейчас xpath выглядит "/html/body/div/form/h3[attribute::class='title']"

а как найти сразу все "h3[attribute::class='title']" в документе? или еще лучше "form/h3[attribute::class='title']"

сейчас в голову приходит только перебором находить нужный XmlNode (form) и применять к нему xpath
xpath xml xmldocument sgml
Re: xpath. найти элемент с неизвестной глубиной вложенности
От: Sinix  
Дата: 13.04.10 02:35
Оценка:
Здравствуйте, maxim_t, Вы писали:

_>сейчас в голову приходит только перебором находить нужный XmlNode (form) и применять к нему xpath


А разве GetNode("form/h3[class='title']") (или как там его) не прожуёт? Или это XQuery? Склероз однако.
Re[2]: xpath. найти элемент с неизвестной глубиной вложеннос
От: maxim_t  
Дата: 13.04.10 03:20
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, maxim_t, Вы писали:


_>>сейчас в голову приходит только перебором находить нужный XmlNode (form) и применять к нему xpath


S>А разве GetNode("form/h3[class='title']") (или как там его) не прожуёт? Или это XQuery? Склероз однако.


не нашел такого метода ни где. XPathExpression такой запрос не жует. только от корня..
Re[3]: xpath. найти элемент с неизвестной глубиной вложеннос
От: Sinix  
Дата: 13.04.10 04:09
Оценка:
Здравствуйте, maxim_t, Вы писали:

_>не нашел такого метода ни где. XPathExpression такой запрос не жует. только от корня..

Оно зовётся SelectSingleNode. Первое нагугленное: http://stackoverflow.com/questions/955979/relative-xpath-node-selection-with-c-xmldocument
Re: xpath. найти элемент с неизвестной глубиной вложенности
От: Аноним  
Дата: 13.04.10 05:26
Оценка:
Здравствуйте, maxim_t, Вы писали:

XmlNode.SelectNodes("//form/h3[attribute::class='title']")
Re[4]: xpath. найти элемент с неизвестной глубиной вложеннос
От: maxim_t  
Дата: 13.04.10 06:10
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, maxim_t, Вы писали:


_>>не нашел такого метода ни где. XPathExpression такой запрос не жует. только от корня..

S>Оно зовётся SelectSingleNode. Первое нагугленное: http://stackoverflow.com/questions/955979/relative-xpath-node-selection-with-c-xmldocument

спасибо за ссылку. не знал про двойной слеш. с ним любым способом находит
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.