internal static string SingleProperty(HtmlNode node, NodeCommandObject cmd) { string value = string.Empty; MethodInfo info = node.GetType().GetMethod(cmd.Commands[0].Operation); object[] param = new object[] { cmd.Xpath }; if (cmd.Commands[0].Property.Equals("Attribute")) { HtmlNode _nodeFromRoot = (HtmlNode)info.Invoke(node, param); value = _nodeFromRoot.Attributes[cmd.Commands[0].Value].Value; } else { try { HtmlNode _nodeFromRoot = (HtmlNode)info.Invoke(node, param); value = (string)_nodeFromRoot.GetType().GetProperty(cmd.Commands[0].Property).GetValue(_nodeFromRoot, null); } catch { } } return value; }
internal static string DualProperty(HtmlNode node, NodeCommandObject cmd) { string value = string.Empty; MethodInfo info = node.GetType().GetMethod(cmd.Commands[0].Operation); object[] param = new object[] { cmd.Xpath }; try { HtmlNode _nodeFromRoot = (HtmlNode)info.Invoke(node, param); var initial = _nodeFromRoot.GetType().GetProperty(cmd.Commands[0].Property).GetValue(_nodeFromRoot); value = (string)initial.GetType().GetProperty(cmd.Commands[1].Property).GetValue(initial); } catch { } return value; }