c#解析XML

            string xml="<xml>"+
                         "<ToUserName><![CDATA[toUser]]></ToUserName>"+
                         "<FromUserName><![CDATA[fromUser]]></FromUserName>"+
                         "<CreateTime>12345678</CreateTime>"+
                         "<MsgType><![CDATA[news]]></MsgType>"+
                         "<ArticleCount>2</ArticleCount>"+
                         "<Articles>"+
                         "<item>"+
                         "<Title><![CDATA[title1]]></Title> "+
                         "<Description><![CDATA[description1]]></Description>"+
                         "<PicUrl><![CDATA[picurl]]></PicUrl>"+
                         "<Url><![CDATA[url]]></Url>"+
                         "</item>"+
                         "<item>"+
                         "<Title><![CDATA[title2]]></Title>"+
                         "<Description><![CDATA[description]]></Description>"+
                         "<PicUrl><![CDATA[picurl]]></PicUrl>"+
                         "<Url><![CDATA[url]]></Url>"+
                         "</item>"+
                         "</Articles>"+
                         "</xml> ";

            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xml);
            XmlElement root = doc.DocumentElement;

            //解析单个元素
            ViewBag.Message = root["ToUserName"].InnerText;

            //解析重复元素
            XmlNodeList nodeList = root.GetElementsByTagName("item");

            for (int i = 0; i < nodeList.Count; i++)
            {
                ViewBag.Message += nodeList[i]["Title"].InnerText+"   ";
            }

 另外:创建含CDATA块的节点

XmlElement toUserName = xml.CreateElement("ToUserName");
XmlCDataSection cdataToUserName = xml.CreateCDataSection(textResponseMessage.ToUserName);
toUserName.AppendChild(cdataToUserName);
root.AppendChild(toUserName);

posted @ 2013-10-28 21:37  zhushang  阅读(438)  评论(0)    收藏  举报