[C#]XML依名稱 取得 節點「 InnerText」 與「屬性值」
實作:
需求:取得下圖「節點b」的InnerText,「節點c」的InnerText與屬性(parameter)的value。
1.建立一個 XMLHelper
public static class XMLHelper { /// <summary> /// 載入XML檔案 /// </summary> /// <param name="fileName"></param> /// <returns></returns> public static XmlDocument Load(string fileName) { XmlDocument doc = new XmlDocument(); if(!string.IsNullOrWhiteSpace(fileName)) { doc.Load(fileName); } return doc; } /// <summary> /// 依名稱取得節點 /// </summary> /// <param name="node"></param> /// <param name="tagName"></param> /// <returns></returns> public static XmlNode GetElementsByTagName(XmlNode node,string tagName) { if(node==null||string.IsNullOrWhiteSpace(tagName)) { return null; } var childNodes = node.ChildNodes; for(var i=0;i< childNodes.Count;i++) { if (childNodes[i].Name == tagName) { return childNodes[i]; } } return null; } /// <summary> /// 依名稱取得屬性 /// </summary> /// <param name="collection"></param> /// <param name="name"></param> /// <returns></returns> public static XmlAttribute GetXmlAttributeByName(XmlAttributeCollection collection, string name) { if (collection == null || string.IsNullOrWhiteSpace(name)) { return null; } for (var i = 0; i < collection.Count; i++) { if (collection[i].Name == name) { return collection[i]; } } return null; } }
留言
張貼留言