c#读取xml时,碰到冒号问题,纠结了半天,终于解决了,分享一下。
1、c#代码:
public void bindXml(string xmlUrl)
{
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load( System.AppDomain.CurrentDomain.Basedirectory+"kkjj.xml");
//doc.Load(xmlUrl);
doc.SelectNodes("/rss/channel");
System.Xml.XmlNode root = doc.DocumentElement;
System.Xml.XmlNode xn = root.SelectSingleNode("/rss/channel");
outStr += "相册名称:" + xn.SelectSingleNode("title").InnerText;//相册名称
outStr += "<br>相册url:" + xn.SelectSingleNode("link").InnerText;//相册url
outStr += "<br>相册图片:<img src='" + xn.SelectSingleNode("image/url").InnerText + "' />";//相册首页图片
//outStr += "<br><img src='" + xn.SelectNodes("item")[0].SelectSingleNode("enclosure").Value + "'>";
System.Xml.XmlNodeList xnl = xn.SelectNodes("item");
outStr += "<br>相册图片数:" + xnl.Count.ToString() + "张";
System.Xml.XmlNamespaceManager nsmanager = new System.Xml.XmlNamespaceManager(doc.NameTable);
nsmanager.AddNamespace("media", "http://search.yahoo.com/mrss/");
// 创建包含 XPATH 表达式的字符串以进行计算。
string exprString = String.Format("// {0}:group", "media");
System.Xml.XmlNodeList nodelist = doc.SelectNodes(exprString, nsmanager);
outStr += "<br>media:title:"+nodelist[0].SelectSingleNode("media:title",nsmanager).Attributes["type"].InnerText;
// for(int i=0;i<xnl.Count;i++)
// {
// outStr += "<br> <img src='"+xnl[i].SelectSingleNode("enclosure").Attributes["url"].InnerText+"' />";
// }
}
2、xml文件