当前位置:编程学习 > C#/ASP.NET >>

那位高手帮忙把这个XML字符串解析下

<?xml version="1.0" encoding="UTF-8" ?> 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<GetNCCBasicDataResponse xmlns="http://tempuri.org">
<GetNCCBasicDataResult>
<s:schema id="NCCCTLocBasicData" targetNamespace="http://www.dhcc.com.cn/publicdata/WebServiceYZNurse" xmlns="http://www.dhcc.com.cn/publicdata/WebServiceYZNurse" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<s:element name="NCCCTLocBasicData" msdata:IsDataSet="true">
<s:complexType>
<s:choice maxOccurs="unbounded">
<s:element name="GetHosCtlocData">
<s:complexType>
<s:sequence>
  <s:element name="SERIAL_NO" type="s:string" minOccurs="0" /> 
  <s:element name="DEPT_CODE" type="s:string" minOccurs="0" /> 
  <s:element name="DEPT_NAME" type="s:string" minOccurs="0" /> 
  <s:element name="DEPT_ALIAS" type="s:string" minOccurs="0" /> 
  <s:element name="IS_DEL" type="s:string" minOccurs="0" /> 
  </s:sequence>
  </s:complexType>
  </s:element>
  </s:choice>
  </s:complexType>
  </s:element>
  </s:schema>
 <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
 <NCCCTLocBasicData xmlns="http://www.dhcc.com.cn/publicdata/WebServiceYZNurse">
 <GetHosCtlocData diffgr:id="GetHosCtlocData1" msdata:rowOrder="0" xmlns="">
  <SERIAL_NO>1</SERIAL_NO> 
  <DEPT_CODE>1010000</DEPT_CODE> 
  <DEPT_NAME>内科</DEPT_NAME> 
  <DEPT_ALIAS>NK</DEPT_ALIAS> 
  <IS_DEL>0</IS_DEL> 
  </GetHosCtlocData>
 <GetHosCtlocData diffgr:id="GetHosCtlocData2" msdata:rowOrder="1" xmlns="">
  <SERIAL_NO>2</SERIAL_NO> 
  <DEPT_CODE>1010100</DEPT_CODE> 
  <DEPT_NAME>内科办公室</DEPT_NAME> 
  <DEPT_ALIAS>NKBFS</DEPT_ALIAS> 
  <IS_DEL>0</IS_DEL> 
  </GetHosCtlocData>
 <GetHosCtlocData diffgr:id="GetHosCtlocData3" msdata:rowOrder="2" xmlns="">
  <SERIAL_NO>3</SERIAL_NO> 
  <DEPT_CODE>1010200</DEPT_CODE> 
  <DEPT_NAME>内科1病房</DEPT_NAME> 
  <DEPT_ALIAS>NK1BF</DEPT_ALIAS> 
  <IS_DEL>0</IS_DEL> 
  </GetHosCtlocData>
 <GetHosCtlocData diffgr:id="GetHosCtlocData4" msdata:rowOrder="3" xmlns="">
  <SERIAL_NO>4</SERIAL_NO> 
  <DEPT_CODE>1010201</DEPT_CODE> 
  <DEPT_NAME>内科1</DEPT_NAME> 
  <DEPT_ALIAS>NK1</DEPT_ALIAS> 
  <IS_DEL>0</IS_DEL> 
  </GetHosCtlocData>
 <GetHosCtlocData diffgr:id="GetHosCtlocData5" msdata:rowOrder="4" xmlns="">
  <SERIAL_NO>5</SERIAL_NO> 
  <DEPT_CODE>1010400</DEPT_CODE> 
  <DEPT_NAME>内科门诊</DEPT_NAME> 
  <DEPT_ALIAS>NKMZ</DEPT_ALIAS> 
  <IS_DEL>0</IS_DEL> 
  </GetHosCtlocData>
 <GetHosCtlocData diffgr:id="GetHosCtlocData6" msdata:rowOrder="5" xmlns="">
  <SERIAL_NO>6</SERIAL_NO> 
  <DEPT_CODE>1010401</DEPT_CODE> 
  <DEPT_NAME>胸内门诊</DEPT_NAME> 
  <DEPT_ALIAS>XNMZ</DEPT_ALIAS> 
  <IS_DEL>0</IS_DEL> 
  </GetHosCtlocData>
  </NCCCTLocBasicData>
  </diffgr:diffgram>
  </GetNCCBasicDataResult>
  </GetNCCBasicDataResponse>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>
用C#解析,帮帮忙!!! --------------------编程问答-------------------- 用System.Xml.XmlDocument 来解析就是
--------------------编程问答--------------------


System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
        doc.Load("~/path/temp.xml");
        System.Xml.XmlNodeList nodes = doc.GetElementsByTagName("GetHosCtlocData");

        foreach (System.Xml.XmlNode node in nodes)
        {
            System.Xml.XmlNodeList cnodes = node.ChildNodes;
            //再foreach解析下面的节点
            //<SERIAL_NO>5</SERIAL_NO> 
            //<DEPT_CODE>1010400</DEPT_CODE> 
            //<DEPT_NAME>内科门诊</DEPT_NAME> 
            //<DEPT_ALIAS>NKMZ</DEPT_ALIAS> 
            //<IS_DEL>0</IS_DEL> 

        }
--------------------编程问答--------------------
引用 2 楼  的回复:
C# code



System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
        doc.Load("~/path/temp.xml");
        System.Xml.XmlNodeList nodes = doc.GetElementsByTagName("GetHosCtlocData");

……

可以
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,