public void Issue_02() { // HTML パーサーインスタンス HtmlTools.HtmlParser p = new HtmlTools.HtmlParser(); // 入力のHTML string html = @"<html> <head> </head> <body> hello world. <div class='test'>div-test<br><unknwontag></div> <br> </body> </html>"; // 文字列を解析してDOMにする var dom = p.ParseHtmlString(html); var body = dom.GetElementsByTagName("body"); Assert.IsTrue(body != null); Assert.AreEqual(1, body.Count()); }
public void Issue_03() { // https://github.com/kkato233/simplehtmlparser/issues/3 // 属性を書き換えたら ' が " に代わってしまった // HTML パーサーインスタンス HtmlTools.HtmlParser p = new HtmlTools.HtmlParser(); // 入力のHTML string html = @"<html> <head> </head> <body> <div class='test'></div> <br> </body> </html>"; // 文字列を解析してDOMにする var dom = p.ParseHtmlString(html); var div = dom.GetElementsByTagName("div").FirstOrDefault(); Assert.IsNotNull(div); div.SetAttributes("class", "test2"); string outHtml = dom.ToHtmlString(); // オリジナルの ' がそのまま ' になる事を確認 Assert.IsTrue(outHtml.Contains("<div class='test2'>"),outHtml); }
public void Test01_SimpleTest() { // HTML パーサーインスタンス HtmlTools.HtmlParser p = new HtmlTools.HtmlParser(); // 入力のHTML string html = @"<html> <head> </head> <body> hello world. <div class='test'>div-test<br><unknwontag></div> <br> </body> </html>"; // 文字列を解析してDOMにする var dom = p.ParseHtmlString(html); Assert.IsNotNull(dom); // DIV タグを探す。大文字小文字は関係なく探す var divList = dom.GetElementsByTagName("Div"); Assert.IsNotNull(divList); Assert.AreEqual(1, divList.Count()); // div タグを選択 var div = divList.First(); // div タグの InnerHtml を書き換え div.InnerHtml = ""; // DOM の HTML を取得する string html2 = dom.ToHtmlString(); // DIV の内容が書き換わっている事の確認 Assert.IsTrue(html2.Contains("<div class='test'></div>")); }
public void Issue_03_A() { // https://github.com/kkato233/simplehtmlparser/issues/3 // 属性を書き換えたら ' が " に代わってしまった // HTML パーサーインスタンス HtmlTools.HtmlParser p = new HtmlTools.HtmlParser(); // 入力のHTML string html = "<div class='te\"st'></div>"; // 文字列を解析してDOMにする var dom = p.ParseHtmlString(html); var div = dom.GetElementsByTagName("div").FirstOrDefault(); Assert.IsNotNull(div); div.SetAttributes("class", "let's"); string outHtml = dom.ToHtmlString(); Assert.IsTrue(outHtml.Contains("<div class=\"let's\">"), outHtml); }
public void Issue_03_C() { // https://github.com/kkato233/simplehtmlparser/issues/3 // 属性を書き換えたら ' が " に代わってしまった // HTML パーサーインスタンス HtmlTools.HtmlParser p = new HtmlTools.HtmlParser(); // 入力のHTML string html = "<div data='\"'></div>"; // 文字列を解析してDOMにする var dom = p.ParseHtmlString(html); var div = dom.GetElementsByTagName("div").FirstOrDefault(); Assert.IsNotNull(div); div.SetAttributes("data", "\"dat\""); string outHtml = dom.ToHtmlString(); // 明示的に " で囲んで指定するとそのまま設定される Assert.IsTrue(outHtml.Contains("<div data=\"dat\">"), outHtml); // デフォルトは ' で囲まれる div.SetAttributes("data", "dat"); outHtml = dom.ToHtmlString(); Assert.IsTrue(outHtml.Contains("<div data='dat'>"), outHtml); div.SetAttributes("data","if\"g"); outHtml = dom.ToHtmlString(); // " を設定すると自動的に ' で囲まれる Assert.IsTrue(outHtml.Contains("<div data='if\"g'>"), outHtml); }