asp.net 读取webservices后如何获取返回的xml文件的节点值xml文件如下<?xml version="1.0" encoding="utf-8"?>
<data>
<dataitem
memberID="560"
memberNum="001"
memberValid="1"
memberName="测试提醒"
memberType="M"
memberTypeName="银卡会员"
cardType="M"
cardTypeName="银卡会员"
certificateType="IDCard"
certificateNum=""
phoneNum=""
mobileNum="15901263942"
sAddress=""
sEmail =""
password ="96E79218965EB72C92A549DD5A330112"
passwordAnswer =""
memberBalance="0" >
</dataitem>
</data>上面是asp.net 通过调用webservices后返回的xml数据想问的是如何
获取memberID,memberNum,……
<data>
<dataitem
memberID="560"
memberNum="001"
memberValid="1"
memberName="测试提醒"
memberType="M"
memberTypeName="银卡会员"
cardType="M"
cardTypeName="银卡会员"
certificateType="IDCard"
certificateNum=""
phoneNum=""
mobileNum="15901263942"
sAddress=""
sEmail =""
password ="96E79218965EB72C92A549DD5A330112"
passwordAnswer =""
memberBalance="0" >
</dataitem>
</data>上面是asp.net 通过调用webservices后返回的xml数据想问的是如何
获取memberID,memberNum,……
void Main()
{
string xml = @"<?xml version=""1.0"" encoding=""utf-8""?>
<data>
<dataitem
memberID=""560""
memberNum=""001""
memberValid=""1""
memberName=""测试提醒""
memberType=""M""
memberTypeName=""银卡会员""
cardType=""M""
cardTypeName=""银卡会员""
certificateType=""IDCard""
certificateNum=""""
phoneNum=""""
mobileNum=""15901263942""
sAddress=""""
sEmail =""""
password =""96E79218965EB72C92A549DD5A330112""
passwordAnswer =""""
memberBalance=""0"" >
</dataitem>
</data>";
XElement xmlPage = XElement.Parse(xml);
var query = from x in xmlPage.Descendants("dataitem")
select new
{
memberID=x.Attribute("memberID").Value,
memberNum=x.Attribute("memberNum").Value
};
foreach(var q in query)
{
Console.WriteLine(q.memberID+" "+q.memberNum);
}
/*
560 001
*/
}
xml.Load("Test.xml");
XmlNode xn = xml.SelectSingleNode("data/dataitem");
foreach (XmlNode xn1 in xn.ChildNodes)
{
Console.WriteLine(xn1.Attributes[""].Value);
}
Console.ReadLine();
或XElement xe= XElement.Parse(xml);
var query = from x in xe.Descendants("")
select new
{
memberID=y.Attribute("memberID").Value,
...
};
public class MyXMLresult
{
public string memberID;
public string memberNum;
}private MyXMLresult[] GetMyXMLResultByXML()
{
XElement xmlPage = XElement.Parse(
<?xml version="1.0" encoding="utf-8"?>
<data>
<dataitem
memberID="560"
memberNum="001"
memberValid="1"
memberName="????"
memberType="M"
memberTypeName="????"
cardType="M"
cardTypeName="????"
certificateType="IDCard"
certificateNum=""
phoneNum=""
mobileNum="15901263942"
sAddress=""
sEmail =""
password ="96E79218965EB72C92A549DD5A330112"
passwordAnswer =""
memberBalance="0" >
</dataitem>
</data>); return (from x in xmlPage.Descendants("dataitem")
select new MyXMLresult
{
memberID = x.Attribute("memberID").Value,
memberNum = x.Attribute("memberNum").Value
}).ToArray();
}
{
XmlDocument xdoc = new XmlDocument();
xdoc.Load("你读取的地址:例如:http://www.123.com/ok/a.xml");
IList<News> news = new List<News>();
XmlNode root = xdoc.DocumentElement;
foreach (XmlNode node in root.ChildNodes)
{
if (node.Name == "match")
{
foreach (XmlNode childNode in node.ChildNodes)
{
if (childNode.Name == "m")
{
News n = new News();
foreach (XmlNode childElement in childNode.ChildNodes)
{
switch (childElement.Name)
{
case "i":
n.I = childElement.InnerText;
break;
case "co": n.Co = childElement.InnerText;
break;
case "le":
n.Le = childElement.InnerText;
break;
case "t":
n.T = childElement.InnerText;
break;
case "t1":
n.T1 = childElement.InnerText;
break;
case "t2":
n.T2 = childElement.InnerText;
break;
case "er":
n.Er= childElement.InnerText;
break;
case "zl":
n.Zl= childElement.InnerText;
break;
case "y":
n.Y = childElement.InnerText;
break;
case "o":
n.O = childElement.InnerText;
break;
case "d":
n.D = childElement.InnerText;
break;
case "s":
n.S = childElement.InnerText;
break;
case "bf":
n.Bf = childElement.InnerText;
break;
}
}
news.Add(n);
}
}
}
}
return news;
}//News是模型层,在页面只要用Datasource绑定一下就Ok了
你把那些属性写一下,然后在前台页面绑定这个方法就可以了!