工作中可能会用到,将传入的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;
}
}
记录下来,方便下次使用