什么是XMLNodeType - C#?

时间:2012-03-31 09:52:36

标签: c# xml

有人可以用外行的方式解释这实际上是做什么的吗?

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

2 个答案:

答案 0 :(得分:3)

XmlReader就像是XML文档中的仅向前游标。除了您的代码无法编译(您在一个块中声明nType然后在另一个块中使用它)之外,XmlReader.NodeType将返回XML读取器正在查看的当前节点类型 - 元素,文本节点,属性等。XmlNodeTypeXmlReader.NodeType的可能值的枚举。

每次拨打Read时,读者都会转到下一个节点 - 您希望的节点通常取决于其类型。

就个人而言,我会避开XmlReader ,除非你试图阅读一个不适合内存的大文件。与将整个文档加载到树中的API相比,使用正确的API要困难得多,并且可以在该树中导航。 LINQ to XML是一个特别好的API ,如果你处于可以使用它的情况。

答案 1 :(得分:3)

我认为MSDN可以总结得最好。

short XmlNodeType是一个枚举,用于定义您当前通过XmlReader

在XML中读取的Xml节点的类型