读取 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();
}
考虑 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();
}