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

single expression to read value of element in 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。

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

您可以创建一个扩展方法

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

用法:

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