/// 查找子節點
/// </summary>
/// <param name="doc">xml文檔</param>
/// <param name="SectionPath">節點所在的路徑Xpath</param>
/// <returns></returns>
public static XmlNodeList FindNodes(XmlDocument doc,string SectionPath)
{
if (SectionPath == "/")
return doc.ChildNodes;
else
return doc.SelectNodes(SectionPath);
}
/// <summary>
/// 根據節點的屬性查找節點
/// </summary>
/// <param name="doc">xml文檔</param>
/// <param name="sectionPath">節點所在的路徑</param>
/// <param name="NodeName">節點的名稱</param>
/// <param name="attr">節點的匹配屬性</param>
/// <returns></returns>
public static XmlNode FindNode(XmlDocument doc, string sectionPath, params Attributes[] attr)
{
if (attr == null)
{
XmlNodeList a = FindNodes(doc, sectionPath);
if (a == null) return null;
else
return a[0];
}
else
{
foreach (XmlNode node in FindNodes(doc, sectionPath))
{
bool isfinded = true;
foreach (Attributes item in attr)
{
if (node.Attributes[item.name].Value != item.value)
{
isfinded = false;
break;
}
}
if (isfinded)
{
return node;
}
}
}
return null;
}