有没有更好的方法来获取XmlReader NodeType属性?

时间:2011-08-18 08:07:05

标签: c# xml xmlreader

基于this,看起来每次我想获取节点元素名称或文本值或其他什么时,我都需要使用switch-case。

所以我必须使用这样的东西:

while (reader.Read())
{
    switch (reader.NodeType)
    {
        case XmlNodeType.Element:
        nodeName = reader.Name;
        break;
    }
}

或者我错过了什么,它可以变得更短更优雅(我需要使用XmlReader,并且无法使用LINQ to XML)?为了获得这些小信息而不得不在任何地方使用所有这些交换机案例的想法对我来说并不是很吸引人。谢谢。

2 个答案:

答案 0 :(得分:1)

没有进行任何投射,所以我可以看到你可以去:

while(reader.Read())
{
    nodeName = reader.Name;
}

我认为节点总是至少有一个名字,但我可能错了,但他们确实这样做了。

答案 1 :(得分:0)

关于Switch案例的一点是,你的意图非常明确,我认为这是现代编程中的重要事项。

但是,如果你厌倦了一直写它,我不能责怪你,那么用Extension方法包装它呢?