Пример #1
0
        public void TestTagName()
        {
            string html = @"<body><h1>title</h1>message</body>";
            HtmlDocument doc = new HtmlDocument(html);

            var q = new HtmlNavigator( doc )
                .Where( n => n.TagName == "h1" )
                .Select( n => n );
            Assert.AreEqual(1, q.Count());
            Assert.AreEqual("title", q.First().Value );
        }
Пример #2
0
        public void TestTagName()
        {
            string       html = @"<body><h1>title</h1>message</body>";
            HtmlDocument doc  = new HtmlDocument(html);

            var q = new HtmlNavigator(doc)
                    .Where(n => n.TagName == "h1")
                    .Select(n => n);

            Assert.AreEqual(1, q.Count());
            Assert.AreEqual("title", q.First().Value);
        }
Пример #3
0
        public void TestTagName2()
        {
            string html = @"<body><h2>title1</h2>message<h2>title2</h2></body>";
            HtmlDocument doc = new HtmlDocument(html);

            var q = new HtmlNavigator(doc)
                .Where(n => n.TagName == "h2")
                .Select(n => n);

            Assert.AreEqual(2, q.Count());
            Assert.AreEqual("title1", q.First().Value);
            Assert.AreEqual("title2", q.ToList()[1].Value);
        }
Пример #4
0
        public void QueryTest()
        {
            using var styleSheet = this.GetResourceStream("ComplexTemplate.html");
            var html  = new HtmlNavigator();
            var xpath = html.ToNavigable(styleSheet).CreateNavigator().Clone();


            var valueOf     = xpath.Select("//value-of");
            var valueAttr   = xpath.Select("//value-attr");
            var repeater    = xpath.Select("//repeater");
            var condition   = xpath.Select("//condition");
            var dataBinding = xpath.Select("//@data-binding");
        }
Пример #5
0
        public void TestTagName2()
        {
            string       html = @"<body><h2>title1</h2>message<h2>title2</h2></body>";
            HtmlDocument doc  = new HtmlDocument(html);

            var q = new HtmlNavigator(doc)
                    .Where(n => n.TagName == "h2")
                    .Select(n => n);

            Assert.AreEqual(2, q.Count());
            Assert.AreEqual("title1", q.First().Value);
            Assert.AreEqual("title2", q.ToList()[1].Value);
        }
Пример #6
0
        public void TestInsert1()
        {
            string html = @"
            <body>
            <h2>title1</h2>
            <div id='m1'></div>
            <h2>title2</h2>
            <div id='m2'></div>
            </body>
            ";
            HtmlDocument doc = new HtmlDocument(html);
            var q = new HtmlNavigator(doc)
                .Where(n => n % "id" == "m1")
                .AppendChild(new HtmlNode("p", "new message"));

            Assert.AreEqual("<body><h2>title1</h2><div id=\"m1\"><p>new message</p></div><h2>title2</h2><div id=\"m2\"/></body>", doc.Html );
        }
Пример #7
0
        public void TestInsert1()
        {
            string       html = @"
<body>
    <h2>title1</h2>
    <div id='m1'></div>
    <h2>title2</h2>
    <div id='m2'></div>
</body>
";
            HtmlDocument doc  = new HtmlDocument(html);
            var          q    = new HtmlNavigator(doc)
                                .Where(n => n % "id" == "m1")
                                .AppendChild(new HtmlNode("p", "new message"));


            Assert.AreEqual("<body><h2>title1</h2><div id=\"m1\"><p>new message</p></div><h2>title2</h2><div id=\"m2\"/></body>", doc.Html);
        }
Пример #8
0
        public void TestTagName4()
        {
            string       html = @"
<body>
    <h2>title1</h2>
        <span id='msg1'>message</span>
    <h2>title2</h2>
        <span id='msg2'>message2</span>
</body>
";
            HtmlDocument doc  = new HtmlDocument(html);

            var q = new HtmlNavigator(doc)
                    .Where(n => n % "id" == "msg2")
                    .Select(n => n);

            Assert.AreEqual(1, q.Count());
            Assert.AreEqual("message2", q.First().Value);
        }
Пример #9
0
        public void TestRemove1()
        {
            string html = @"
            <body>
            <h2>title1</h2>
            <span id='m1'>message</span>
            <h2>title2</h2>
            <span id='m2'>message2</span>
            </body>
            ";
            HtmlDocument doc = new HtmlDocument(html);
            var q = new HtmlNavigator(doc)
                .Where(n => n % "id" == "m2")
                .Remove();

            q = new HtmlNavigator(doc)
                .Where(n => n.TagName == "span")
                .Select(n => n);

            Assert.AreEqual(1, q.Count());
            Assert.AreEqual("message", q.Item().Value);
        }
Пример #10
0
        public void TestRemove1()
        {
            string       html = @"
<body>
    <h2>title1</h2>
    <span id='m1'>message</span>
    <h2>title2</h2>
    <span id='m2'>message2</span>
</body>
";
            HtmlDocument doc  = new HtmlDocument(html);
            var          q    = new HtmlNavigator(doc)
                                .Where(n => n % "id" == "m2")
                                .Remove();

            q = new HtmlNavigator(doc)
                .Where(n => n.TagName == "span")
                .Select(n => n);

            Assert.AreEqual(1, q.Count());
            Assert.AreEqual("message", q.Item().Value);
        }
Пример #11
0
        public void TestTagName4()
        {
            string html = @"
            <body>
            <h2>title1</h2>
            <span id='msg1'>message</span>
            <h2>title2</h2>
            <span id='msg2'>message2</span>
            </body>
            ";
            HtmlDocument doc = new HtmlDocument(html);

            var q = new HtmlNavigator(doc)
                .Where(n => n % "id" == "msg2")
                .Select(n => n);

            Assert.AreEqual(1, q.Count());
            Assert.AreEqual("message2", q.First().Value);
        }