把xml读到DataSet,然后根据参数操作DataSet就行了

解决方案 »

  1.   


    [Test]
            public void Test()
            {
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(@"<images>
      <image>
        <id>0</id>
        <name>a</name>
        <namecn>jkk</namecn>
        <path>10</path>
      </image>
      <image>
        <id>1</id>
        <name>b</name>
        <namecn>sas</namecn>
        <path>10</path>
      </image>
    </images>");
                Console.Write(GetStrNameCn(doc, "b")); //结果sas        }        public string GetStrNameCn(XmlDocument doc ,string strname)
            {
                //根据传入的参数strname---name节点
                //返回对应的namecn的值            XmlNode node = doc.SelectSingleNode(String.Format("//name[.=\"{0}\"]",strname));
                if(node == null) return null;
                return node.NextSibling.InnerText;
            }
      

  2.   

    XmlNode node = doc.SelectSingleNode(String.Format("//name[.=\"{0}\"]",strname));
    这句的意思,是用xpath,找所有name节点,且内容为strname的节点
      

  3.   


     public static string GetStrNameCn(string strname)
            {
                XDocument doc = XDocument.Load("../../xml.xml");
                return doc.Descendants("image").FirstOrDefault(s => s.Element("name").Value == strname).Element("namecn").Value;
            }
      

  4.   

            static string GetStrName(string strname)
            {
                string xml = @"<images>
      <image>
        <id>0</id>
        <name>a</name>
        <namecn>jkk</namecn>
        <path>10</path>
      </image>
      <image>
        <id>1</id>
        <name>b</name>
        <namecn>sas</namecn>
        <path>10</path>
      </image>
    </images>";
                return XDocument.Parse(xml).Descendants("image").Where(x => x.Element("name").Value == strname).Select(x => x.Element("namecn").Value).First();
            }