2015-06-10 47 views
0

考慮xml文件的部分。單個表達式讀取XmlTextReader中元素的值

<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; 

請注意,我不想跳過元素。我正在使用XmlTextReader,我一行一行讀取xml。

唯一的原因是保持代碼簡單。如果這是可能的,我感覺更好。

回答

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(); 
} 
+0

哎呀,我爲什麼沒有注意到?謝謝! –