Jayant Bramhankar
Jayant Bramhankar

Reputation: 378

Split values by tag <br> HtmlAgility

I get the value from ChildNode.InnerHtml as

20th Aug 2013<br>Ojas Systems <br> Pune <br> Software

How to split the values from generated InnerHtml by HtmlAgilty. I tried converting InnerHtml to string, but it throws an error

No overload for method 'Write' takes 0 arguments

may be because of unclosed html tags but then what could be the solution Below is the returned InnerHtml

<a href="http://jobs.monsterindia.com/details/13826093.html?sig=js-1- 4f08ba3c3102de443076cfb01e15745e-1&from=" target="_blank" id="link13826093">.Net java </a>, 20th Aug 2013<br>Ojas Systems Private Limited<br> Pune, 0-0 years: Looking for freshers who is trained in .Net Java.The location will be Pune.Preferably passed in 2012-2013. <br><a href="javascript:findSimilar(13826093)">Similar Jobs</a>&nbsp;&nbsp;-&nbsp;&nbsp;<a href="http://jobsearch.monsterindia.com/searchresult.html?cid=117314;lan=1">All Jobs by this Recruiter</a>&nbsp;&nbsp;-&nbsp;&nbsp;<a href="javascript:void(0)" onclick="javascript:openSocialTwist({EXP:'Experience - 0 to 0 years',LINK:'http://jobs.monsterindia.com/details/13826093.html',COMP:'Company Name - Ojas Systems Private Limited',LOC:'Location - Pune',ROLE:'',KWD:'Key skills - .net java',TTL:'Job Title - .Net java '})">Share this job</a>

Upvotes: 0

Views: 7783

Answers (3)

Mir Gulam Sarwar
Mir Gulam Sarwar

Reputation: 2648

Taken form Here worked for me

string str = "hai<br/>how<br/>Are<br/>you";

            string[] delim = { "<br/>" };

            string[] spltd = str.Split(delim, StringSplitOptions.None);

Upvotes: 3

Alex Art.
Alex Art.

Reputation: 8781

If you able to retrieve ChildNode.InnerHtml you also should be able to save it as a string:

string inner_html = ChildNode.InnerHtml.ToString();

You could replace <br> with "/" or some other char (inner_html .replace("<br>,"/")) and then use simple string split on "/" char

EDIT:

If the innerhtml will always be in the same format you could go with something like this

string[] delimiter = new string[] {"<br>"};
string inner_html = ChildNode.InnerHtml.ToString();
int i = inner_html.IndexOf("</a>");
if( i!=-1)
{
   int j = inner_html.IndexOf("<a", i + 4);
   if (j != -1)
   {

      string yourStr = inner_html.Substring(i + 4,j);
      string[] splitedStr = yourStr.split(delimiter, StringSplitOptions.RemoveEmptyEntries); 
   }
}

Upvotes: 0

Damith
Damith

Reputation: 63105

string input = "20th Aug 2013<br>Ojas Systems <br> Pune <br> Software";
string[] result = input.Split(new string[]{"<br>"}, StringSplitOptions.None);

Output

20th Aug 2013 
Ojas Systems  
 Pune  
 Software 

Upvotes: 0

Related Questions