2013-10-15 1 views
1

я следующая часть документа HTML и HTML документXPath для определенной части а ДИВО

<div class="boxContent"> 
<div class="boxBold">Name1</div> 
Cat    
<div class="boxBold">Name2</div> 
Dog       
<div class="boxBold">ID</div> 
749 X 
</div> 

я пытаюсь получить значение 709 X и игнорировать все остальное, есть стандарт, чтобы сделать это?

, когда я пытаюсь получить InnerText родительского Div это дает мне CatDog749 X

я попытался myDocument.DocumentNode.SelectSingleNode("//div[@class='boxContent']").InnerText но какова связь между третьим DIV ребенка и 749 X?

ответ

2

Это XPath будет выбрать текст после div содержащего "ID" в пределах div класса "boxContent":

//div[@class='boxContent']/div[. = 'ID']/following-sibling::text() 

Примечания

  • Если на коробке могут находиться несколько классовContent div, используйте вместо простого тестирования равенства.
  • Если может быть несколько div с класса "boxContent", отсканируйте выбор или повторите все, в соответствии с вашими требованиями.
0

Вы пробовали:

myDocument.DocumentNode.SelectSingleNode (// DIV [@ класс = 'boxContent'] [3]) .InnerText

0

Вы получаете CatDog749 X, потому что вы выбираете все узлы, которые имеют класс boxContent, вам нужно выбрать конкретный div.

XPath: //div[@class='boxContent']/last(): Получить последний узел в DIV: 749 X

Смежные вопросы