有人可以用外行的方式解释这实际上是做什么的吗?
XmlTextReader textReader = new XmlTextReader(workingDir + @"\ModulesList.xml");
textReader.Read();
if (textReader.Name == "Name")
{
textReader.Read();
XmlNodeType nType = textReader.NodeType;
}
if (nType == XmlNodeType.Text)
{
listBox1.Items.Add(textReader.Value.ToString());
}
我不明白文本阅读器上XmlNodeType和NodeType的用途。请有人可以用最简单的方式清除它:P
答案 0 :(得分:3)
XmlReader
就像是XML文档中的仅向前游标。除了您的代码无法编译(您在一个块中声明nType
然后在另一个块中使用它)之外,XmlReader.NodeType
将返回XML读取器正在查看的当前节点类型 - 元素,文本节点,属性等。XmlNodeType
是XmlReader.NodeType
的可能值的枚举。
每次拨打Read
时,读者都会转到下一个节点 - 您希望做的节点通常取决于其类型。
就个人而言,我会避开XmlReader
,除非你试图阅读一个不适合内存的大文件。与将整个文档加载到树中的API相比,使用正确的API要困难得多,并且可以在该树中导航。 LINQ to XML是一个特别好的API ,如果你处于可以使用它的情况。
答案 1 :(得分:3)
我认为MSDN可以总结得最好。
short XmlNodeType
是一个枚举,用于定义您当前通过XmlReader