C#动态生成XML并在前台用javascript读取
考慮到網站首頁使用動態頁面的話會影響服務器性能,所以采用javascript來實現首頁的動態更新。
原理,以發新聞稿為例,當后臺發出一條新聞后,通過訪問數據庫動態生成一個XML文件,保存新聞的信息,當打開前臺頁面時,使用javascript讀取XML文件并顯示。
后臺代碼:
sseEntities _db = new sseEntities();
??????????? var newsToView = (from n in _db.News select n).ToArray().Reverse().ToList();
??????????? XmlDocument xd = new XmlDocument();
??????????? XmlDeclaration xde;
??????????? xde = xd.CreateXmlDeclaration("1.0", "GBK", null);
??????????? xd.AppendChild(xde);
??????????? XmlElement newslist = xd.CreateElement("newslist");
??????????? xd.AppendChild(newslist);
??????????? XmlNode root = xd.SelectSingleNode("newslist");
??????????? XmlElement [] news = new XmlElement [4];
??????????? XmlElement [] text = new XmlElement [4];
??????????? XmlElement [] img = new XmlElement[4];
??????????? for (int i = 0; i < 4; i++)
??????????? {
??????????????? news[i] = xd.CreateElement("news");
??????????????? text[i] = xd.CreateElement("text");
??????????????? img[i] = xd.CreateElement("img");
??????????????? news[i].SetAttribute("id", i.ToString());
??????????????? if (i < newsToView.Count)
??????????????? {
??????????????????? text[i].InnerText = newsToView[i].Title;
??????????????????? img[i].InnerText = "Content/newsimages/slider_item1.png";
??????????????? }
??????????????? else
??????????????? {
??????????????????? text[i].InnerText = "";
??????????????????? img[i].InnerText = "";
??????????????? }
??????????????? news[i].AppendChild(text[i]);
??????????????? news[i].AppendChild(img[i]);
??????????????? root.AppendChild(news[i]);
??????????? }
??????????? xd.Save(Server.MapPath("../Sources/News.xml"));
前臺讀取代碼:
<script type="text/javascript">
??????? function loadXML(xmlFile) {
??????????? var xmlDoc;集裝箱運費
??????????? if (!window.ActiveXObject) {
??????????????? var parser = new DOMParser();
??????????????? xmlDoc = parser.parseFromString(xmlFile, "text/xml");
??????????? } else {
??????????????? xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
??????????????? xmlDoc.async = "false";
??????????????? xmlDoc.load(xmlFile);
??????????? }
??????????? return xmlDoc;iphone5
??????? }
??????? var xmlDoc = loadXML("Sources/News.xml");
??????? //解析xml文件,判斷是否出錯
??????? if (xmlDoc.parseError.errorCode != 0) {
??????????? alert(xmlDoc.parseError.reason);
??????? }
??????? //獲得根節點
??????? var nodes = xmlDoc.documentElement.childNodes;
??? </script>
轉載于:https://www.cnblogs.com/sky7034/archive/2011/06/20/2084995.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的C#动态生成XML并在前台用javascript读取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 肉肉谈对需求设计的想法--到底是功能驱动
- 下一篇: Node.js:Windows7下搭建的