161
Chương 5: XML
MessageBox.Show(err.Message);
return;
}
// Đổ dữ liệu vào TreeView.
ConvertXmlNodeToTreeNode(doc, treeXml.Nodes);
// Mở rộng tất cả các nút.
treeXml.Nodes[0].ExpandAll();
}
private void ConvertXmlNodeToTreeNode(XmlNode xmlNode,
TreeNodeCollection treeNodes) {
// Thêm một TreeNode mô tả XmlNode này.
TreeNode newTreeNode = treeNodes.Add(xmlNode.Name);
// Tùy biến phần text cho TreeNode dựa vào
// kiểu và nội dung của XmlNode.
switch (xmlNode.NodeType) {
case XmlNodeType.ProcessingInstruction:
case XmlNodeType.XmlDeclaration:
newTreeNode.Text = "<?" + xmlNode.Name + " " +
xmlNode.Value + "?>";
break;
case XmlNodeType.Element:
newTreeNode.Text = "<" + xmlNode.Name + ">";
break;
case XmlNodeType.Attribute:
newTreeNode.Text = "ATTRIBUTE: " + xmlNode.Name;
break;
case XmlNodeType.Text:
case XmlNodeType.CDATA:
newTreeNode.Text = xmlNode.Value;
break;
case XmlNodeType.Comment:
newTreeNode.Text = "<!--" + xmlNode.Value + "-->";