xml怎么获取我节点内的子节点的值?急啊 10

我name为张三时能读取到pass和address的值并显示在label上... 我name为张三时能读取到pass和address的值并显示在label上 展开
 我来答
糖果Micro
2013-01-30 · TA获得超过560个赞
知道小有建树答主
回答量:345
采纳率:0%
帮助的人:122万
展开全部
asp:实现代码
public void main()
{
//构造xml 字符串 ,实际中肯定是作为参数传递进来的
StringBuilder str_xml = new StringBuilder();
str_xml.Append("<?xml version=\"1.0\" encoding=\"gb2312\"?>");
str_xml.Append("<user>");
str_xml.Append("<person name=\"张三\" sex =\"男\" age=\"25\">");
str_xml.Append("<pass>"); str_xml.Append("呵呵"); str_xml.Append("</pass>");
str_xml.Append("<Address>"); str_xml.Append("江苏"); str_xml.Append("</Address>");
str_xml.Append("</person>");
str_xml.Append("<person name=\"李四\" sex =\"男\" age=\"25\">");
str_xml.Append("<pass>"); str_xml.Append("哈哈"); str_xml.Append("</pass>");
str_xml.Append("<Address>"); str_xml.Append("江苏"); str_xml.Append("</Address>");
str_xml.Append("</person>");
str_xml.Append("<person name=\"王二\" sex =\"男\" age=\"25\">");
str_xml.Append("<pass>"); str_xml.Append("呼呼"); str_xml.Append("</pass>");
str_xml.Append("<Address>"); str_xml.Append("江苏"); str_xml.Append("</Address>");
str_xml.Append("</person>");
str_xml.Append("</user>");

//调用方法传递参数
GetXmlData(str_xml.ToString(),"张三");
}

private string GetXmlData(string str_xml,string userName)
{
string result = null;
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml(str_xml);
System.Xml.XmlNode xmlNode = doc.SelectSingleNode("user");
foreach (System.Xml.XmlNode tradeNode in xmlNode.SelectNodes("person"))
{
//Attributes 获取属性值
string name = tradeNode.Attributes["name"].Value.ToString();
if (name == userName)
{
//SelectSingleNode 获取节点
System.Xml.XmlNode pass = tradeNode.SelectSingleNode("pass");
System.Xml.XmlNode address = tradeNode.SelectSingleNode("Address");
result="pass= "+ pass.InnerText + ",Adress="+address.InnerText;
}
}
return result;
}
追问
假如我xml有很多数据呢,全部打进去不是很烦吗
追答
xml 肯定是参数传递进来的,而xml文档肯定之前就已经存在了啊,我这里只是为了让你看懂。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜翼落雪
推荐于2018-04-05 · 超过17用户采纳过TA的回答
知道答主
回答量:86
采纳率:100%
帮助的人:51.6万
展开全部
$(function() {
$("#btnOK").click(function() {
$.ajax({
url: "XMLtest.xml",
dataType: 'xml', //返回的类型为XML
success: function(xml) {
//查找xml元素
$(xml).find("user").each(function() {
var $info = $(this).find("person");
if( $info.eq(0).attr("name") == "张三")
{
$("#label_pass").val($info.eq(0).text());
$("#label_Address").val($info.eq(1).text());
}
})
},
error: function(result, status) { //如果没有上面的捕获出错会执行这里的回调函数
alert(status);
}
});

//禁用按钮的提交
return false;
});
});
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心情影娱
2013-01-30 · 超过29用户采纳过TA的回答
知道答主
回答量:292
采纳率:0%
帮助的人:114万
展开全部
有个pass 和address 属性啊 用name 判断是属于什么 在调属性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式