类型名称文本在xmlnodetype

时间:2017-04-07 08:49:23

标签: c# xml readxml

我正在尝试从C#中的xml文件中读取某个部分。我尝试在这里使用此代码,但我在Text的{​​{1}}下遇到编译器错误,但奇怪的是它出现了intellisense并且与XmlNodeType.Text之类的其他所有内容一样,给出了相同的错误, Element等等。我错过了什么?

Comment

XML文件

XmlTextReader reader = new XmlTextReader(xmlDoc);
List<string> paths = new List<string>();
while (reader.Read())
{
    if (reader.NodeType == XmlNodeType.Element && reader.Name == "Paths")
        foreach(XmlNodeType.Text aa in reader.ReadInnerXml())
            paths.Add(aa);
}
reader.Close();

1 个答案:

答案 0 :(得分:1)

XmlNodeType是一个枚举。 XmlNodeType.Text是一个值,而不是一个类型,但您尝试将其用作aa变量的类型。此外ReaderInnerXml()会返回string,因此您不清楚如何迭代它。

为此使用XmlTextReader吗?使用LINQ to XML几乎所有XML工作都更简单。例如,这就是我认为你需要的全部内容:

var paths = XDocument.Load(xmlDoc)
                     .Descendants("Paths")
                     .Elements()
                     .Select(element => (string) element)
                     .ToList();