public void testCommentAndDocType() { string xml = "<!DOCTYPE html><!-- a comment -->One <qux />Two"; XmlTreeBuilder tb = new XmlTreeBuilder(); Document doc = tb.Parse(xml, "http://foo.com/"); Assert.AreEqual("<!DOCTYPE html><!-- a comment -->One <qux />Two", TextUtil.StripNewLines(doc.Html())); }
public void testPopToClose() { // test: </val> closes Two, </bar> ignored string xml = "<doc><val>One<val>Two</val></bar>Three</doc>"; XmlTreeBuilder tb = new XmlTreeBuilder(); Document doc = tb.Parse(xml, "http://foo.com/"); Assert.AreEqual("<doc><val>One<val>Two</val>Three</val></doc>", TextUtil.StripNewLines(doc.Html())); }
public void testSimpleXmlParse() { string xml = "<doc id=2 href='/bar'>Foo <br /><link>One</link><link>Two</link></doc>"; XmlTreeBuilder tb = new XmlTreeBuilder(); Document doc = tb.Parse(xml, "http://foo.com/"); Assert.AreEqual("<doc id=\"2\" href=\"/bar\">Foo <br /><link>One</link><link>Two</link></doc>", TextUtil.StripNewLines(doc.Html())); Assert.AreEqual(doc.GetElementById("2").AbsUrl("href"), "http://foo.com/bar"); }
private void Reset() { treeBuilder = new XmlTreeBuilder(); tokenizer = new Tokenizer(treeBuilder, false); treeBuilder.WantsComments = false; // optionally: report errors and more //treeBuilder.ErrorEvent += // (sender, a) => // { // ILocator loc = tokenizer as ILocator; // Console.WriteLine("{0}: {1} (Line: {2})", a.IsWarning ? "Warning" : "Error", a.Message, loc.LineNumber); // }; //treeBuilder.DocumentModeDetected += (sender, a) => Console.WriteLine("Document mode: " + a.Mode.ToString()); //tokenizer.EncodingDeclared += (sender, a) => Console.WriteLine("Encoding: " + a.Encoding + " (currently ignored)"); }
public static HtmlDocument ParseXml(string html, Uri baseUri) { TreeBuilder treeBuilder = new XmlTreeBuilder(); return(treeBuilder.Parse(html, baseUri, HtmlParseErrorCollection.NoTracking())); }
public void Setup() { builder = new XmlTreeBuilder(); }