XmlHelper

  1. 獲取XML節點的值(http服務使用xml傳輸數據,節點名稱惟一)

    node

        /// <summary>
        /// 獲取xml節點的值
        /// </summary>
        /// <param name="xml">xml字符串</param>
        /// <param name="xmlnode">節點名</param>
        /// <returns>節點值</returns>
        public static string GetXmlNodeValue(string xml, string xmlnode)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(xml);
            string val = XDocument.Load(new StringReader(xml)).Descendants(xmlnode).First().Value; 
            return val;
        }
  2. 獲取XML節點的內容(http服務使用xml傳輸數據,節點名稱惟一)spa

    /// <summary>
        /// 獲取xml節點的內容
        /// </summary>
        /// <param name="xml">xml字符串</param>
        /// <param name="xmlnode">節點名</param>
        /// <returns>節點值</returns>
        public static string GetXmlNodeNode(string xml, string xmlnode)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(xml);
            object val = XDocument.Load(new StringReader(xml)).Descendants(xmlnode).First();
            return val.ToString();
        }
  3. XML與DataSet互轉(xml文件與DataTable格式一致)code

       private string ConvertDataTableToXML(DataTable xmlDS)
        {
            MemoryStream stream = null;
            XmlTextWriter writer = null;
            try
            {
                stream = new MemoryStream();
                writer = new XmlTextWriter(stream, Encoding.Default);
                xmlDS.WriteXml(writer);
                int count = (int)stream.Length;
                byte[] arr = new byte[count];
                stream.Seek(0, SeekOrigin.Begin);
                stream.Read(arr, 0, count);
                UTF8Encoding utf = new UTF8Encoding();
                return utf.GetString(arr).Trim();
            }
            catch
            {
                return String.Empty;
            }
            finally
            {
                if (writer != null) writer.Close();
            }
        } 
        private DataSet ConvertXMLToDataSet(string xmlData)
        {
          StringReader stream = null;
          XmlTextReader reader = null;
          try
          {
            DataSet xmlDS = new DataSet();
            stream = new StringReader(xmlData);
            reader = new XmlTextReader(stream);
            xmlDS.ReadXml(reader);
            return xmlDS;
          }
          catch (Exception ex)
          {
            string strTest = ex.Message;
            return null;
          }
          finally
          {
            if (reader != null)
            reader.Close();
          }
        }
  4. 獲取節點的全部子節點,並用哈希表保存值
//獲取節點的全部子節點,並用哈希表保存值 
    private Hashtable GetChildNodesHT(XmlDocument xmlDoc, string strNodeName) 
    { 
        Hashtable ht = new Hashtable(); 
        XmlNodeList xnThis = xmlDoc.GetElementsByTagName(strNodeName); 
        try
        { 
            XmlNodeList childNodes = xnThis[0].ChildNodes; 
            foreach (XmlNode xn in childNodes) 
            { 
                if (ht.ContainsKey(xn.Name) == false) 
                { 
                    ht[xn.Name] = xn.InnerText; 
                } 
            } 
        } 
        catch { } 
        return ht; 
    } 
相關文章
相關標籤/搜索