2014-10-08 1 views
0

어떻게이 HTML 블록의 텍스트를 가져올 수 있습니까?앞뒤에 텍스트 가져 오기 vb.net의 br/tag - htmlagilitypack

<td align="left" style="">2000000033754<br/>CHOICE_HARVEST-GALA _APPLE-10S</td>     
내가 HTMLAgilityPack을 사용하고

,이

If cols1(m).OuterHtml.Contains("<br>") Then 
    ' split into barcode and item name 
    Dim barcode As HtmlNode = cols1(m).SelectSingleNode("text()[preceding::br]") 
    sSQL = sSQL & "," & ToCHR(barcode.InnerText.Trim) 
    Dim item As HtmlNode = cols1(m).SelectSingleNode("text()[following::br]") 
    sSQL = sSQL & "," & ToCHR(item.InnerText.Trim) 
나는 이러한 결과

barcode.innertext = "2000000033754"

을 얻을 필요가

vb.net에서 내 코드입니다 - 도움이 필요 -이

item.innertext = "CHOICE_HARVEST-GALA _APPLE-10S"을하고있다 이 부분이

+0

시도에 의해 분리 된 두개의 텍스트 요소 (beforeafter) 다음 예에서, li 세 어린이 포함? –

답변

0

구조체 인 경우 HtmlAgilityPack이 HtmlNode와 TextNode 사이에서 노드를 분할한다는 사실을 간단하게 사용할 수 있습니다. 스팬을 이용하여 HTML 요소 (br)

var hd = new HtmlDocument(); 
hd.LoadHtml("<html><body><ul><li>before<br/>after</li></ul></body></html>"); 
var lis = hd.DocumentNode.FirstChild.FirstChild.FirstChild; // select the ul 
foreach (var li in lis.ChildNodes) 
{ 
    var firstTextNode = li.ChildNodes.First(hn => hn.NodeType == HtmlNodeType.Text); 
    var lastTextNode = li.ChildNodes.Last(hn => hn.NodeType == HtmlNodeType.Text); 
} 
관련 문제