2
我作出(使用HtmlAgilityPack)這個HTML編輯器有通過更改樹視圖 - 更改必須並行加載的文件來完成,C#綁定HTML文檔
什麼將是最好的方式將htmlNode與treeNode相關聯(我認爲它與XmlNode相當)。我有一些想法,但我想知道是否有一些好的解決方案。
我作出(使用HtmlAgilityPack)這個HTML編輯器有通過更改樹視圖 - 更改必須並行加載的文件來完成,C#綁定HTML文檔
什麼將是最好的方式將htmlNode與treeNode相關聯(我認爲它與XmlNode相當)。我有一些想法,但我想知道是否有一些好的解決方案。
至今還沒有人提供幫助,即時通訊張貼我這樣做的方式,但如果有人會提出更好的解決方案,我會接受它。
public void bind(HtmlNode htmlN, TreeNode treeN)
{
StringBuilder result = new StringBuilder();
switch (htmlN.NodeType)
{
case HtmlNodeType.Comment :
result.Append(htmlN.InnerText);
break;
case HtmlNodeType.Document :
result.Append("root");
break;
case HtmlNodeType.Element :
result.Append('<').Append(htmlN.Name).Append('>');
break;
case HtmlNodeType.Text :
result.Append(htmlN.InnerText);
break;
default:
result.Append("undefined element");
break;
}
treeN.Text = result.ToString();
treeN.Name = htmlN.Name;
treeN.Tag = htmlN;
TreeNode newTN;
foreach (HtmlNode node in htmlN.ChildNodes){
if (node.NodeType == HtmlNodeType.Element || node.InnerText.Trim().Length > 0){
newTN = new TreeNode();
treeN.Nodes.Add(newTN);
bind(node, newTN);
}
}
}