当前位置:编程学习 > C#/ASP.NET >>

关于XML取值问题

<?xml version="1.0"?> 
<jzfscf>
<zxbz name="装修标准">
<mp name="毛坯">1</mp>
<pt name="普通装修">2</pt>
<jz name="精装修">3</jz>
<hz name="豪华装修">4</hz>
</zxbz>

写一个方法  传入 jzfscf 装修标准  毛坯  3个属性,然后返回 1  类似这样  召唤大神帮帮忙  --------------------编程问答--------------------   XmlNodeList xn1 = xmldoc.SelectNodes("jzfscf/zxbz");
     foreach (XmlNode xml in xn1)
       {
         XmlElement xe = (XmlElement)xml ;
         string mp= xe.SelectSingleNode("mp").InnerText.Trim();
       } --------------------编程问答--------------------
引用 1 楼  的回复:
  XmlNodeList xn1 = xmldoc.SelectNodes("jzfscf/zxbz");
     foreach (XmlNode xml in xn1)
       {
         XmlElement xe = (XmlElement)xml ;
         string mp= xe.SelectSingleNode("mp").InnerTex……
谢谢,要写的是一个方法,传来的是个参数,方法具体怎么写 --------------------编程问答--------------------
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Get("d:\\1.xml", "jzfscf", "装修标准", "毛坯");
            if (s != null)
            { 
                //
            }
        }
        string Get(string path,string n1,string n2,string n3)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(path);
            XmlNode node = doc.SelectSingleNode(n1+"\\");
            if (node != null)
            {
                foreach (XmlNode n in node.ChildNodes)
                {
                    if (n.Attributes["name"] ==n2)
                    {
                        foreach (XmlNode n2 in n.ChildNodes)
                        {
                            if (n2.Attributes["name"] == n3)
                                return n2.Value();
                        }
                    }
                }
            }
            return null;
        }
    }
}
--------------------编程问答--------------------
	private string SelectValue(string nodeName, string name, string childName)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("~/test.xml"));
XmlNode node = xmlDoc.SelectSingleNode(string.Format(@"//{0}/*[@name='{1}']/*[@name='{2}']", nodeName, name, childName));
return node.InnerXml;
}

调用:
		string result = SelectValue("jzfscf", "装修标准", "毛坯");
Response.Write(result);
--------------------编程问答--------------------
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,