C# 解析XML响应
我得到一个XML响应,如下所示:C# 解析XML响应,c#,asp.net,xml,string,C#,Asp.net,Xml,String,我得到一个XML响应,如下所示: <Resp> <status>00</status> <errorcode></errorcode> <errordescr></errordescr> <data> <Table> <USERNAME>Name</USERNAME> <ACCLOCK>N</ACCLOCK
<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>
我想拆分字符串响应并获取一些标记的值(例如:-USERNAME
,STRID\u FK
,MERID\u FK
),以便将其保存在其他字符串中以供进一步使用
请帮我做这个
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);
}
或者直接尝试选择节点
xmlDoc.SelectNodes(“/data/Table/USERNAME”)
或
XmlNodeList nodes= doc.GetElementsByTagName("USERNAME");
或者直接尝试选择节点
xmlDoc.SelectNodes(“/data/Table/USERNAME”)
或
XmlNodeList nodes= doc.GetElementsByTagName("USERNAME");
另一个选项,这次使用Linq到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;
另一种选择是将…
中的所有数据放入字典,以便以后查找:
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"];
另一个选项,这次使用Linq到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;
另一种选择是将…
中的所有数据放入字典,以便以后查找:
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"];
谢谢你的友好回复。。我正在Windows Phone应用程序中尝试此操作。。。XmlDocument和XmlNodeLIst类不可用。甚至添加名称空间[使用system.xml]。。也没有什么影响。。。所有的推荐信都包括在内…你能帮忙吗?谢谢你的回复。。我正在Windows Phone应用程序中尝试此操作。。。XmlDocument和XmlNodeLIst类不可用。甚至添加名称空间[使用system.xml]。。也没有什么影响。。。所有的参考资料都包括在内…你能帮忙吗?