Da wir C# verwenden müssen, um verwandte Operationen in kürzlich zu verarbeiten, haben wir einen Code gesammelt. Der folgende Code ist ein Beispiel für die Generierung einer DOM -Baumansicht aus dem HTML -Code:
// Der Prozess wird rekursiv bezeichnet
// Dom_Node ist der aktuelle HTML -DOM -Knoten
// tree_node ist der Knoten des aktuell eingefügten Baums
private void InsertDomNodes (IHTMLDOMNODE PANTERNODE, TREENODE TREE_NODE)
{
int sibing = 0; // Die Reihenfolge der aktuellen Knoten zwischen Geschwisterknoten wird durch ",", "," getrennt.
if (parentNode.haschildnodes ())
{
// Level ++;
// pathstring = pathstring + "," + Ebene;
IHTMLDOMCHILDRENCOLLECTION Allchild = (iHtmldomChildRencollection) parentNode.childnodes;
int länge = allchild.length;
für (int i = 0; i <länge; i ++)
{
String instring = pathstring;
instring = instring+","+sibing ++;
IHTMLDOMNODE CHILD_NODE = (IHTMLDOMNODE) allchild.Item (i);
treenode tempnode = tree_node.node.add (chirt_node.nodename +"_" +instring);
// String tmp =
InsertDomNodes (Child_Node, Tempnode);
pathstring = instring;
}
}
}
private void evipsBrowser_documentComplete (Objektabsender, Axshdocvw.dwebbrowsevents2_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);
}