拜托,帮帮我吧 我想显示"电子邮件"的价值来自xml。我的语法现在有效,但它显示每个值。我希望能够显示个人(一个)值,如
email: mail@mail.com
My scripts
var xml ="<?xml version='1.0' encoding='UTF-8'?>
<MemResponse>
<Phone>2554535</Phone>
<Email>mail@mail</Email>
<Number>we75546654</Number>
</MemResponse>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
foreach(XmlNode n in doc.DocumentElement)
{
string q = n.FirstChild.InnerText;
Response.Write(q);
}
答案 0 :(得分:0)
请尝试以下代码:
XmlDocument doc = new XmlDocument();
doc.LoadXml("YOUR_XML_PATH");
XmlNodeList email_hd= doc.GetElementsByTagName("Email");
string email=email_hd[0].InnerText;
答案 1 :(得分:0)
您的代码遍历每个节点并写入该节点的内容。
您似乎想要匹配节点名称,并且只有在其名称为&#34时才写入值;电子邮件&#34;。
如果是这样的情况,请在每个人的内部尝试以下内容:
if(n.Name == "Email") {
string q = n.FirstChild.InnerText;
Response.Write(q);
}
或者,您可以使用节点列表。
NodeList nl = doc.GetElementsByTagName("Email");
然后写下来。
加载XML文档时,请使用:
HttpWebRequest request = WebRequest.Create(requestUrl) as HttpWebRequest;
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(response.GetResponseStream());
答案 2 :(得分:0)
只需通过GetElementsByTagName方法按标签名称选择所有元素。
检查一下:
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
var myEmails = doc.GetElementsByTagName("Email");
foreach (XmlNode mail in myEmails)
{
string mailText = mail.FirstChild.InnerText;
Response.Write(mailText);
}
我是从MSDN
得到的