Поскольку нам нужно использовать C# для обработки связанных операций в I в последнее время, мы накопили какой -то код. Следующий код является примером генерации дерева DOM из кода HTML:
// процесс будет называться рекурсивно
// dom_node - текущий узел HTML DOM
// tree_node является узлом вставленного в настоящее время дерева
private void insertdomnodes (ihtmldomnode parentnode, treeNode tree_node)
{
int sibing = 0; // Порядок текущих узлов между сестрами разделяется ",", "
if (parentnode.haschildnodes ())
{
// уровень ++;
// pathstring = pathstring + "," + level;
ihtmldomchildrencollection allchild = (ihtmldomchildrencollection) parentnode.childnodes;
int length = allchild.length;
для (int i = 0; i <длины; i ++)
{
Строка инструмента = PathString;
инструмент = инструмент+","+sibing ++;
ihtmldomnode child_node = (ihtmldomnode) allchild.item (i);
treeNode tempnode = tree_node.nodes.add (child_node.nodeName +"_" +instring);
// String tmp =
insertdomnodes (child_node, tempnode);
PathString = инструмент;
}
}
}
private void evipsbrowser_documentcomplete (отправитель объекта, axshdocvw.dwebbrowserevents2_documentcompleteevent e)
{
pathstring = "0";
level = 0;
domtreeview.nodes.clear ();
ihtmldocument3 htmldocument = (ihtmldocument3) evipsbrowser.document;
ihtmldomnode rootdomnode = (ihtmldomnode) htmldocument.documentelement;
treeNode root = domtreeview.nodes.add ("html"+"_"+pathstring);
InsertDomnodes (rootdomnode, root);
}