Здравствуйте, _YETI_, Вы писали:
_YE>Вот пример кода... — добавление нода в treeView в соответствии с файлом xml, но без комментариев. Не получилось...
_YE>Укажите на трабл...
_YE>_YE>private void addTreeNode(XmlNode xmlNode, TreeNode treeNode)
_YE> {
_YE> int x;
_YE> XmlNodeList xNodeList;
_YE> if (xmlNode.HasChildNodes) //The current node has children
_YE> {
_YE> xNodeList = xmlNode.ChildNodes;
_YE> for ( x = 0; x <= xNodeList.Count - 1; x++)
_YE> //обход всех дочерних
_YE> {
_YE> if (xmlNode.ChildNodes[x].NodeType != XmlNodeType.Comment)
_YE> {
_YE> xNode = xmlNode.ChildNodes[x];
_YE> TreeNode trNode = new TreeNode(xNode.Name);
_YE> // MessageBox.Show(xNode.Name);
_YE> treeNode.Nodes.Add(trNode);
_YE> if (xmlNode.ChildNodes[x].Attributes.Count > 0)
_YE> {
_YE> for (int y = 0; y <= xNode.Attributes.Count - 1; y++)
_YE> {
_YE> if (xNode.Attributes[y].NodeType != XmlNodeType.Comment)
_YE> {
_YE> TreeNode hh = new TreeNode(xNode.Attributes[y].Value);
_YE> //MessageBox.Show(hh.Text);
_YE> trNode.Nodes.Add(hh);
_YE> }
_YE> else
_YE> y++;
_YE> }
_YE> }
_YE> tNode = treeNode.Nodes[x];
_YE> addTreeNode(xNode, tNode);
_YE> }
_YE> else
_YE> {
_YE> x++;
_YE> xNode = xmlNode.ChildNodes[x];
_YE> tNode = treeNode.Nodes[x];
_YE> addTreeNode(xNode, tNode);
_YE> }
_YE> }
_YE> }
_YE> // else //No children, so add the outer xml (trimming off whitespace)
_YE> // treeNode.Text = xmlNode.OuterXml.Trim();
_YE> }
_YE>
Зачем вам выделенные конструкции? Первая насколько я понял в случае текущего элемента комментария пропустит следующий. Вторая пропустит следующий элемент и попытается добавить чайлды комментаря?!?!?! Мне кажется их стоит убрать...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>