编辑:是的,看起来我的Watch窗口滞后了。它继续呈现以前的结果。有人遇到过这种情况吗?
编辑:当你问我设置断点的位置时,它位于最后一行之后。
这是我的C#代码
XmlDocument document = new XmlDocument();
document.Load(fileName);
id = document.GetElementsByTagName("id");
这是我的XML文件
<StudentList>
<id>1</id>
<id>3</id>
<id>7</id>
<id>9</id>
<id>8</id>
<id>Invalid</id>
</StudentList>
当我尝试调试时,id.Count
等于4,而我认为它应该是6。
为什么调试器说只有4个元素?
答案 0 :(得分:0)
如果您的xml文件看起来如上所示,则应该id.Count
等于6.
让我们尝试这样做:
XmlDocument document = new XmlDocument();
document.LoadXml(@"<StudentList>
<id>1</id>
<id>3</id>
<id>7</id>
<id>9</id>
<id>8</id>
<id>Invalid</id>
</StudentList>");
id = document.GetElementsByTagName("id");
Console.WriteLine(id.Count);
在控制台中,您可以看到“6”。
所以我认为您在代码之前设置了id
的值。
值4来自之前的操作。
在此行上设置断点:
id = document.GetElementsByTagName("id");
在立即窗口中,您可以输入id,您将得到以下结果:
id
{System.Xml.XmlElementList}
[System.Xml.XmlElementList]: {System.Xml.XmlElementList}
Count: 4
接下来按F10,将执行该行中的代码,您必须再次键入立即窗口ID,您将获得:
id
{System.Xml.XmlElementList}
[System.Xml.XmlElementList]: {System.Xml.XmlElementList}
Count: 6