public string GetInfor(string xmlValue)
{
  
}
请问我这参数是个XML形式的参数,我怎么才能把他解析了,
如传过来的是
<?xml version="1.0" encoding="utf-8"?>
<queryArgs>
<localNetID>290</localNetID>
<taskNo>123456</taskNo>
<validDateStart>2008-09-05</validDateStart>
<validDateEnd>2008-10-01</validDateEnd>
</queryArgs>
我怎么才能通过XML解析得到这四个值,290,123456。。谢谢。

解决方案 »

  1.   

         public void GetInfor(string xmlValue) 
            {
                string regstr = xmlValue;
                string pattern = @"<localNetID>(?<group1>.*)</localNetID>\s*";
                pattern += @"<taskNo>(?<group2>.*)</taskNo>";
     
                Regex r = new Regex(pattern, RegexOptions.Multiline | RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.ExplicitCapture);            MatchCollection mc = r.Matches(textBox1.Text);
                foreach(Match m in mc)
                {
                    MessageBox.Show(m.Groups["group1"].Value + m.Groups["group2"].Value);
                }
            }
      

  2.   

    C#using System; 
    using System.Xml; partial class _Default : System.Web.UI.Page 

        protected void Page_Load(object sender, System.EventArgs e) 
        { 
            XmlDocument xdd = new XmlDocument(); 
            XmlNode cn; 
            int i; 
            
            xdd.LoadXml("<queryArgs><localNetID>290 </localNetID> <taskNo>123456 </taskNo> <validDateStart>2008-09-05 </validDateStart> <validDateEnd>2008-10-01 </validDateEnd> </queryArgs> "); 
            Response.Write(xdd.ChildNodes(0).Name + "<br>"); 
            cn = xdd.ChildNodes(0); 
            for (i = 0; i <= cn.ChildNodes.Count - 1; i++) { 
                Response.Write(cn.ChildNodes(i).InnerText + "<br>"); 
            } 
        } 
      

  3.   


    public string GetInfor(string xmlValue) 

      XmlDocument doc = new XmlDocument();
      doc.LoadXml(xmlValue);
      XmlElement root = doc.DocumentElement;  string s1 = ((XmlElement)(root["localNetID"])).InnerText;
      string s2 = ((XmlElement)(root["taskNo"])).InnerText;
      string s3 = ((XmlElement)(root["validDateStart"])).InnerText;
      string s4 = ((XmlElement)(root["validDateEnd"])).InnerText;  return s1 + "," + s2 + "," + s3 + "," + s4;}
      

  4.   

    试试这个,建一个相对应用的结构,然后用Deserialize就会从XML得到这个结构。
    using System;
    using System.Text;
    using System.Xml.Serialization;
    using System.IO;
    namespace ReadXML
    {    [Serializable]
        public struct queryArgs
        {
            public int localNetID;
            public int taskNo;
            public DateTime validDateStart;
            public DateTime validDateEnd;        // 或者用string
            // public string validDateStart;
            // public string validDateEnd;
        }    class Program
        {
            public static queryArgs GetInfor(string xmlValue)
            {
                TextReader tr = new StringReader(xmlValue);
                XmlSerializer xs = new XmlSerializer(Type.GetType("ReadXMLqueryArgs"));
                queryArgs args = (queryArgs)xs.Deserialize(tr);
                return args;
            }        static void Main(string[] args)
            {
            }
        }
    }
      

  5.   

    刚才的Type名称中间少个点,补上 
    ...
    XmlSerializer xs = new XmlSerializer(Type.GetType("ReadXML.queryArgs"));
    ...