public void ProcessValueForKey(string Key, string ExpectedValueType, ProcessOneNodeEvent ValueHandler) { string PathToValue = String.Format("/plist/dict/key[.='{0}']/following-sibling::{1}[1]", Key, ExpectedValueType); XmlNode ValueNode = Doc.DocumentElement.SelectSingleNode(PathToValue); if (ValueNode != null) { ValueHandler(ValueNode); } }