C# 解析字符串成xml格式

工作中可能会用到,将传入的xml字符串解析成xml格式的数据,然后进行处理,具体如下

xml源文件类似如下格式:

<root>
 <LIUS_NO>20140217135350</LIUS_NO>
 <DANW_ID>DWID00000001</DANW_ID>
 <WLZX_CODE>10000001</WLZX_CODE>
 <HUOZ_ID>20111122112211</HUOZ_ID>
 <DANW_NO>DWNO10000001</DANW_NO>
 <DANW_NAME>哈尔滨第六制药厂</DANW_NAME>
 <ZHUJ_CODE>HRBDLZYC</ZHUJ_CODE>
 <BEACTIVE>Y</BEACTIVE>
 <GENGX_TIME>2014-2-15 13:58:43</GENGX_TIME>
 <DANW_SIMPLENAME>哈药</DANW_SIMPLENAME>
 <YEW_STAFF>0638</YEW_STAFF>
 <ADDRESS>湖北武汉</ADDRESS>
 <SHOUH_PHONE>15071119988</SHOUH_PHONE>
 <SHOUH_STAFF>张三</SHOUH_STAFF>
 <POSTCODE>441000</POSTCODE>
 <ZT>Y</ZT>
</root>  

用户可能抛给我们的是字符串格式的,此时我们就需要采用如下方式处理传入的字符串:

 XmlDocument xdoc = new XmlDocument();
 xdoc.LoadXml(传入字符串);

 该LoadXml方法可将字符串转成xml格式数据。

我们常用的Load方法需要传入的是xml文件所在路径

数据解析成xml后,接下来我们就的获取xml中的有效数据。具体如下:

    XmlDocument xdoc = new XmlDocument();
            xdoc.LoadXml(字符串);
            XmlNodeList nodeList = xdoc.GetElementsByTagName("root");
            StringBuilder nameList = new StringBuilder();
            //循环xml数据
            foreach (XmlNode xmlNode in nodeList)
            {
                XmlNodeList childList = xmlNode.ChildNodes; //取得row下的子节点集合
                foreach (XmlNode item in childList)
                {

       //获取每个节点的值20140217135350
                    var val = item.InnerText;

       //获取每个节点属性,如LIUS_NO

                    var name = item.Name;
                 }
            }

记录下来,方便下次使用

原文地址:https://www.cnblogs.com/ellanjianx/p/3558164.html