单个表达式,用于读取XmlTextReader中元素的值

时间:2015-06-10 12:30:16

标签: c# xml xmltextreader

考虑xml文件的一部分。

<Element>Value</Element>

我使用XmlTextReader来读取xml文件。所以我使用了while(reader.Read())

现在,当我到达Element时,我想获得它的价值。

if(reader.NodeType == XmlNodeType.Element && reader.LocalName == "Element")
{
     reader.Read();
     var var = reader.Value;
}

有没有办法将这两行结合起来?单个表达式等于:

     reader.Read();
     var var = reader.Value;

请注意,我不想跳到Element。我正在使用XmlTextReader,我逐行读取xml。

唯一的原因是保持代码简单。如果可能的话,我感觉好多了。

1 个答案:

答案 0 :(得分:2)

您可以创建一个扩展方法

public static string ReadValue(this XmlTextReader reader) 
{
  reader.Read();
  return reader.Value;
}

用法:

if(reader.NodeType == XmlNodeType.Element && reader.LocalName == "Element")
{
     var var = reader.ReaderValue();
}