HTMLDocumentClass로 Html 코드 분석(HtmlElement 모든 속성 읽기 방법)

여러분은 Html 코드를 분석해야 할 수도 있습니다. 어떤 사람들은 웹 브라우저를 사용할 수도 있습니다. 이 방법은 괜찮습니다. 사실 마이크로소프트는 또 다른 구성 요소인 mshtml(마이크로소프트.mshtml을 인용합니다. 이것은 여러 명이 Framework 디렉터리에 있는 것을 인용할 수 있습니다). 이 물건은 html 코드를 분석하는 방법을 제공하고 사용하기에 매우 편리합니다.
4
            HTMLDocumentClass doc = new HTMLDocumentClass();
            IHTMLDocument2 doc2 = doc;
            doc2.write(html);  //html        html  
사용 시 doc 객체 childNodes를 반환하기만 하면 됩니다.
            IHTMLDOMChildrenCollection collect = (IHTMLDOMChildrenCollection)doc.childNodes;
            foreach (IHTMLDOMNode node in collect)
            {
                //         (  </a>,            HTMLUnknownElementClass)
                //                     
                if (!(node is HTMLUnknownElementClass))
                {

             //      
                    IHTMLAttributeCollection attrs = (IHTMLAttributeCollection)node.attributes;  
                    foreach (IHTMLDOMAttribute attr in attrs)
                    {

                        //  specified=true        
                        if (attr.specified)
                        {
                            
                        }
                    }
                }
            }

참고로 IHTMLDOMNode 대상은 사실 모든 노드입니다. (닫는 노드를 포함합니다. 예를 들어 '' 이것도 IHTMLDOMNode라고 합니다.)
그래서 시작의 노드인지 아닌지 판단을 해주시면 HTML Unknown Element Class가 아닌지 판단을 해주시면 됩니다.
여러분이 만약에 웹브라우저를 사용하면 웹브라우저가 제공하는 HtmlElement 대상이 Attribute 속성 집합을 제공하지 않으면 순환을 통해 노드의 모든 속성을 얻을 수 없습니다. 사실 mshtml을 통해 이 문제를 해결할 수 있습니다.DomDocument에서 HTMLDocumentClass로 변환할 수 있습니다.
            WebBrowser wb = new WebBrowser();
            HTMLDocumentClass cls = (HTMLDocumentClass)wb.Document.DomDocument;

변환 후에 사용된 HTMLDocumentClass는 모든 속성을 조작할 수 있습니다.

좋은 웹페이지 즐겨찾기