【记录】C#中的HTML解析

之前已经整理了:

【整理】C#中的HTML解析

现在继续折腾。

1.有空再去试试:

Html Agility Pack

2.搜

C# beautifulSoup

而找到:

BeautifulSoup similar for C# [closed]

3.去试试:

SGMLReader

参考官网代码,把示例代码添加进来了:

using Sgml;
using System.Xml;
using System.IO;

        XmlDocument FromHtml(TextReader reader)
        {

            // setup SgmlReader
            Sgml.SgmlReader sgmlReader = new Sgml.SgmlReader();
            sgmlReader.DocType = "HTML";
            sgmlReader.WhitespaceHandling = WhitespaceHandling.All;
            sgmlReader.CaseFolding = Sgml.CaseFolding.ToLower;
            sgmlReader.InputStream = reader;

            // create document
            XmlDocument doc = new XmlDocument();
            doc.PreserveWhitespace = true;
            doc.XmlResolver = null;
            doc.Load(sgmlReader);
            return doc;
        }

4.然后再去参考:

SgmlReaderDll使用

去看看如何使用。

最后,经过简单修改,就可以将html转换为xml的document了:

using Sgml;
using System.Xml;
using System.IO;

XmlDocument htmlToXmlDoc(string html)
{

    // setup SgmlReader
    Sgml.SgmlReader sgmlReader = new Sgml.SgmlReader();
    sgmlReader.DocType = "HTML";
    sgmlReader.WhitespaceHandling = WhitespaceHandling.All;
    sgmlReader.CaseFolding = Sgml.CaseFolding.ToLower;
    //sgmlReader.InputStream = reader;
    sgmlReader.InputStream = new StringReader(html);

    // create document
    XmlDocument doc = new XmlDocument();
    doc.PreserveWhitespace = true;
    doc.XmlResolver = null;
    doc.Load(sgmlReader);

    return doc;
}

 

5.后来,分别遇到并解决了:

【已解决】C#中对于XmlNode,去用SelectNodes或SelectSingleNode查找,结果找不到(子节点)

6.

【已解决】查找C#的XmlNode的当前节点下的某个子节点

7.

【已解决】网页中的图片,一张(png)图片包含多张图片,如何通过css去定位对应的子png图片



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量