本文整理汇总了C#中System.Xml.XmlNode.GetXPath方法的典型用法代码示例。如果您正苦于以下问题:C# XmlNode.GetXPath方法的具体用法?C# XmlNode.GetXPath怎么用?C# XmlNode.GetXPath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Xml.XmlNode
的用法示例。
在下文中一共展示了XmlNode.GetXPath方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetMethodStructMember
internal static Dictionary<string, object> GetMethodStructMember(
XmlRpcRequest request,
XmlNode node)
{
var xpath = node.GetXPath();
var values = node.SelectNodes(string.Concat(xpath, "/member"));
if (values != null)
{
var dictionary = new Dictionary<string, object>();
foreach (XmlNode value in values)
{
var memberNameNode = value["name"];
var memberValueNode = value["value"];
if (memberNameNode == null || memberValueNode == null)
{
continue;
}
var memberName = memberNameNode.InnerText;
dictionary.Add(
memberName,
GetMethodMember(
request,
memberValueNode.FirstChild));
}
return dictionary;
}
return null;
}
示例2: GetMethodArrayMember
internal static object GetMethodArrayMember(
XmlRpcRequest request,
XmlNode node)
{
var xpath = node.GetXPath();
var values = node.SelectNodes(string.Concat(xpath, "/data/value"));
var results = new List<object>();
if (values != null)
{
results.AddRange(
values.Cast<XmlNode>().Select(
value =>
value.FirstChild.Name.Equals("struct")
? GetMethodMember(request, value.FirstChild)
: value.InnerText.ConvertTo(value.FirstChild.Name)));
//if (values
// .Cast<XmlNode>()
// .Any(x => x.FirstChild.Name.Equals("struct")))
//{
// return values
// .Cast<XmlNode>()
// .Select(
// value =>
// GetMethodStructMember(
// request,
// value.FirstChild))
// .ToArray();
//}
//return values.Cast<XmlNode>()
// .Select(
// value =>
// (string) value.InnerText.ConvertTo(value.FirstChild.Name))
// .ToArray();
// This works!!!
//return values.Cast<XmlNode>()
// .Select(
// value =>
// (string)value.InnerText.ConvertTo(value.FirstChild.Name))
// .ToArray();
return results.ToArray();
}
return null;
}