`
mnhkahn
  • 浏览: 29921 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

C#动态生成XML并在前台用javascript读取

    博客分类:
  • .NET
阅读更多

考虑到网站首页使用动态页面的话会影响服务器性能,所以采用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;
        }
        var xmlDoc = loadXML("Sources/News.xml");
        //解析xml文件,判断是否出错 
        if (xmlDoc.parseError.errorCode != 0) {
            alert(xmlDoc.parseError.reason);
        }
        //获得根节点
        var nodes = xmlDoc.documentElement.childNodes;
    </script>

 

<div id="newsbody">
                <div id="slider">
                    <div class="sliderItem" id="slide1">
                        <script type="text/javascript">
                            document.write("<h3>" + nodes(0).firstChild.nodeTypedValue + "</h3>");
                            document.write("<img src='" + nodes(0).lastChild.nodeTypedValue + "' alt='' />")
                        </script>
                    </div>
                    <!-- /sliderItem -->
                    <div class="sliderItem" id="slide2" style="display: none">
                        <script type="text/javascript">
                            document.write("<h3>" + nodes(1).firstChild.nodeTypedValue + "</h3>");
                            document.write("<img src='" + nodes(1).lastChild.nodeTypedValue + "' alt='' />")
                        </script>
                    </div>
                    <!-- /sliderItem -->
                    <div class="sliderItem" id="slide3" style="display: none">
                        <script type="text/javascript">
                            document.write("<h3>" + nodes(2).firstChild.nodeTypedValue + "</h3>");
                            document.write("<img src='" + nodes(2).lastChild.nodeTypedValue + "' alt='' />")
                        </script>
                    </div>
                    <!-- /sliderItem -->
                    <div class="sliderItem" id="slide4" style="display: none">
                        <script type="text/javascript">
                            document.write("<h3>" + nodes(3).firstChild.nodeTypedValue + "</h3>");
                            document.write("<img src='" + nodes(3).lastChild.nodeTypedValue + "' alt='' />")
                        </script>
                    </div>
                </div>
                <div id="sliderNav">
                    <a href="#" class="previous">Previous</a>
                    <ul>
                    </ul>
                    <a href="#" class="next">Next</a>
                </div>
            </div>
 
0
0
分享到:
评论

相关推荐

    C#获取xml文件信息显示到web界面

    在本文中,我们将深入探讨如何使用C#编程语言来获取XML文件的信息,并将这些信息有效地呈现在Web界面上。XML(可扩展标记语言)是一种结构化的数据存储格式,广泛用于数据交换和配置文件。C#作为.NET框架的一部分,...

    C#实现PDF的自主生成

    结合以上知识点,你可以创建一个C#应用程序,从JSON配置文件读取PDF生成的相关参数,如页面大小、字体样式等,然后使用iTextSharp或其他库生成PDF。同时,程序可以支持动态更新配置,以适应不同的PDF生成需求。 ...

    用C#与XML创建动态分层菜单.

    - 通过C#代码解析这些XML文件,并使用JavaScript和CSS生成客户端的动态效果。 6. **客户端与服务器端交互**: - 服务器端通过ASP.NET文件`createMenus.aspx`处理XML数据,并将其转换为客户端可理解的格式。 - ...

    c#语言Asp.net 动态网站TreeView和XML实现页面动态导航

    1. **读取XML数据**:使用C#的System.Xml命名空间中的类,如XmlDocument或XDocument,加载XML文件并解析其内容。 2. **构建TreeView**:根据解析的XML数据,动态生成TreeView的节点。每个XML节点对应TreeView的一个...

    调用webservice,通过post传参读取返回的XML

    这里我们关注的是如何使用POST方法调用一个WebService,并处理返回的XML响应。我们将探讨以下知识点: 1. **WebService**:WebService是一种基于HTTP协议的分布式计算模型,允许不同系统间的应用进行交互。它通常...

    Zero Server Controls technique in ASP.Net, C# (XML Insertion, JavaScript tricks using AJAX deletion and XSLT record display using JavaScript)

    在ASP.NET中,可以使用C#代码动态生成XML字符串,然后将其传递给客户端。客户端的JavaScript可以读取这些XML数据,并根据需要对数据进行操作。 接着,我们来讨论AJAX(Asynchronous JavaScript and XML)删除操作。...

    读取XML读取XML

    在C#中,我们可以使用`System.Xml`命名空间的类来读取XML。如`XmlDocument`和`XmlNodeReader`: ```csharp using System.Xml; public class ReadXml { public static void Main() { XmlDocument doc = new Xml...

    C#json与Xml相互转换例子

    在.NET编程环境中,C#是一种常用的编程语言,而JSON(JavaScript Object Notation)和XML(eXtensible Markup Language)是两种广泛使用的数据交换格式。本文将深入探讨如何在C#中实现JSON与XML的相互转换,以满足...

    XML读取以及解析

    - C#:System.Xml命名空间下的XmlDocument、XmlNodeReader等。 - JavaScript:DOMParser或XMLHttpRequest对象进行AJAX请求后使用原生DOM接口。 4. **XML命名空间**: 为了避免元素名冲突,XML引入了命名空间的...

    c#操作xml和序列化

    C#提供了System.Xml命名空间中的XmlDocument类,用于解析XML文档并创建DOM(Document Object Model)树。通过DOM,你可以添加、删除、修改XML节点。例如: ```csharp XmlDocument doc = new XmlDocument(); doc....

    c# 获取中国行政区域划分以及经纬度 demo 生成json 或者xml

    - 在C#中,可以使用`System.Xml.Serialization`命名空间中的类(如`XmlSerializer`)将对象序列化为XML,也可以使用`System.Text.Json`或第三方库如Newtonsoft.Json将对象转换为JSON。 - 序列化过程是将对象的状态...

    利用AJAX修改服务器端XML并在客户端访问XML

    在C#或ASP.NET中,我们可以使用`System.Xml`命名空间的类,如`XmlDocument`或`XDocument`来读取、修改XML文件。例如,加载XML文件: ```csharp XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("path_to_...

    C#.net里使用javascript ajax教程

    Ajax 的工作原理是使用 XHTML 和 CSS 标准化呈现,使用 DOM 实现动态显示和交互,使用 XML 和 XSLT 进行数据交换与处理,使用 XMLHttpRequest 进行异步数据读取,最后用 JavaScript 绑定和处理所有数据。 在 C#.net...

    C#(ASP.net) + XML 实现简单的多国语言转换

    - 在C#中,我们可以使用`System.Xml`命名空间的类来读取和解析XML文件。`XmlDocument`或`XDocument`类是常用的工具,它们允许我们加载XML文件并检索特定的节点。 - 创建一个辅助类来处理XML语言资源,如`...

    C#读取本地数据源数据,在百度地图上标注

    在C#中调用这些API通常需要使用HttpClient类来发起HTTP请求,并处理返回的JSON或XML数据。例如,要获取地图上的标注信息,可以调用百度地图的 marker 接口,通过POST请求发送数据,数据中包含标注的坐标、标题、描述...

    真实心电xml格式数据和波形图对照

    压缩包内的"生成波形图.pdf"可能是使用XML数据生成的波形图示例,供参考和比对。这个PDF文件可以用来验证你的代码是否正确解析和可视化了XML数据。通过对比实际的心电图波形图,你可以检查数据的准确性,同时也可以...

    asp.net操作xml代码示例和js小功能实例

    在ASP.NET中,我们可以使用内置的System.Xml命名空间来读取、写入和操作XML文档。以下是一些关键的类和方法: 1. **XmlDocument**: 这是处理XML的主要类,可以加载XML文件,创建节点,以及执行查询。例如,你可以...

    基于C#+ASP.NET实现的Ajax XML Project工程代码例子

    在ASP.NET框架下,C#代码被用来编写服务器端逻辑,处理用户请求,生成动态内容,并与数据库进行交互。 Ajax的核心在于JavaScript,它负责在客户端与服务器之间建立异步通信。在这个项目中,JavaScript代码通常会...

    flash+xml图片轮换效果

    4. **ASP.NET集成**:ASP.NET可以通过C#或VB.NET等编程语言,提供动态生成XML文件的能力。这样,当数据库中的图片信息发生变化时,可以通过ASP.NET自动更新XML,保持图片轮换内容的实时性。 5. **前端与后端交互**...

    XMLReaderDemo_C#_xml_DEMO_

    XMLReaderDemo是一个基于C#语言的XML文档解析示例,主要展示了如何逐节点地读取和解析XML文档,以及如何将解析的关键数据转换为JSON格式。在这个DEMO中,我们将探讨XML解析的基本概念,C#中的XMLReader类,以及XML到...

Global site tag (gtag.js) - Google Analytics