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);