[英]Parsing XML response
I got an XML response as: 我得到的XML响应为:
<Resp>
<status>00</status>
<errorcode></errorcode>
<errordescr></errordescr>
<data>
<Table>
<USERNAME>Name</USERNAME>
<ACCLOCK>N</ACCLOCK>
<EMAILID>Samplemail@gmail.com</EMAILID>
<LASTLOGINDATE>23-03-2015 12:35:40</LASTLOGINDATE>
<LOGINSTATUS>N</LOGINSTATUS>
<MOBILENO>9848022338</MOBILENO>
<PASSWORD>Abcd@1234</PASSWORD>
<PWDCOUNT>0</PWDCOUNT>
<PWDVALIDTO>12-05-2015 12:18:10</PWDVALIDTO>
<DESCRIPTION>Shop Person</DESCRIPTION>
<STATUS>Y</STATUS>
<USRID_FK>100017</USRID_FK>
<ROLE>12</ROLE>
<COUNTRY>61</COUNTRY>
<MERID_FK>100002</MERID_FK>
<GENDER>0</GENDER>
<COUNTRY1>61</COUNTRY1>
<STATE>0</STATE>
<DOB>12-02-1997</DOB>
<STRID_FK>10025</STRID_FK>
</Table>
</data>
I am saving this XML response in the following string
: 我将此XML响应保存在以下string
:
string response;
I want to split the string response and get values of some tags (EX:- USERNAME
, STRID_FK
, MERID_FK
), to save it in other strings for further usage. 我想拆分字符串响应并获取某些标签(例如USERNAME
, STRID_FK
, MERID_FK
)的值,以将其保存在其他字符串中以STRID_FK
MERID_FK
使用。
Please help me with this .. 请在这件事上给予我帮助 ..
XmlDocument xml = new XmlDocument();
xml.LoadXml(myXmlString);
XmlNodeList xnList = xml.SelectNodes("/data/Table");
foreach (XmlNode xn in xnList)
{
string USERNAME= xn["USERNAME"].InnerText;
string STRID_FK= xn["STRID_FK"].InnerText;
string MERID_FK= xn["MERID_FK"].InnerText;
Console.WriteLine("Name: {0, {1}, {2}", USERNAME, STRID_FK,MERID_FK);
}
or if try directly to select node xmlDoc.SelectNodes("/data/Table/USERNAME")
or 或直接尝试选择节点xmlDoc.SelectNodes("/data/Table/USERNAME")
或
XmlNodeList nodes= doc.GetElementsByTagName("USERNAME");
Another option, this time using Linq to Xml: 另一个选择,这次使用Linq to Xml:
var yourXml = XElement.Parse (response); // Parse the response
// Look up specific values by name:
var username = yourXml.Descendants().First(node => node.Name == "USERNAME").Value;
Yet another option is to put all the data from <Table>...</Table>
into a dictionary for easy lookup later: 另一个选择是将<Table>...</Table>
所有数据放入字典中,以便以后查找:
var dict = yourXml.Descendants()
.Where(node => node.Name == "Table")
.Descendants()
.ToDictionary(node => node.Name.ToString(), node => node.Value);
// Look up value using "USERNAME" as key:
var exampleUsername = dict["USERNAME"];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.