當前位置:成語大全網 - 新華字典 - c#如何取得xml節點的位置

c#如何取得xml節點的位置

/// <summary>

/// 查找子節點

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

}