최근에 관련 작업을 처리하기 위해 C#을 사용해야하므로 일부 코드가 축적되었습니다. 다음 코드는 HTML 코드에서 dom treeview를 생성하는 예입니다.
// 프로세스를 재귀 적으로 호출합니다
// dom_node는 현재 HTML dom 노드입니다
// tree_node는 현재 삽입 된 트리의 노드입니다
private void insertDomnodes (ihtmldomnode parentnode, treenode tree_node)
{
int sibing = 0; // 형제 노드들 사이의 현재 노드의 순서는 ","에 의해 분리됩니다.
if (parentnode.haschildnodes ())
{
// 레벨 ++;
// PathString = PathString + "," + 레벨;
ihtmldomchildrencollection allchild = (ihtmldomchildrencollection) parentnode.childnodes;
int 길이 = AllChild.length;
for (int i = 0; i <길이; i ++)
{
문자열 instring = pathstring;
Instring = Instring+","+sibing ++;
ihtmldomnode child_node = (ihtmldomnode) allchild.item (i);
Treenode tempnode = tree_node.nodes.add (child_node.nodename +"_" +instring);
// 문자열 tmp =
insertDomnodes (child_node, tempnode);
PathString = 악기;
}
}
}
Private void EvipsBrowser_DocumentComplete (객체 발신자, axshdocvw.dwebbrowserevents2_documentCompleteevent e)
{
PathString = "0";
레벨 = 0;
domtreeview.nodes.clear ();
ihtmldocument3 htmldocument = (ihtmldocument3) EvipsBrowser.document;
ihtmldomnode rootdomnode = (ihtmldomnode) htmldocument.documentElement;
Treenode root = domtreeview.nodes.add ( "html"+"_"+pathstring);
insertDomnodes (rootdomNode, root);
}