ASP.NET:将xml节点添加到文件的第一个位置

本文关键字:文件 第一个 位置 添加 节点 NET xml ASP | 更新日期: 2023-09-27 17:57:57

我想在我的网站上有新闻提要,所以我创建了管理页面和简单的表单来将新闻节点添加到xml文件中。但它将节点添加到最后一个位置,我需要它在第一个位置。

我的代码(C#):

        XmlDocument xmlfile = new XmlDocument();
        xmlfile.Load(Server.MapPath("/News.xml"));
        XmlElement News = xmlfile.CreateElement("news");
        XmlElement Title = xmlfile.CreateElement("title");
        XmlElement Content = xmlfile.CreateElement("content");
        XmlText TitleText = xmlfile.CreateTextNode(TextBox_title.Text);
        XmlText ContentText = xmlfile.CreateTextNode(TextBox_content.Text);
        Title.AppendChild(TitleText);
        Content.AppendChild(ContentText);
        News.AppendChild(Title);
        News.AppendChild(Content);
        XmlNode news = xmlfile.GetElementsByTagName("news")[0];
        //xmlfile.DocumentElement.AppendChild(News);
        xmlfile.Save(Server.MapPath("/News.xml"));

我的xml文件:

<theNews>
  <news>
    <title>
      Example title
    </title>
    <content>
      Example content.
    </content>
  </news>
</theNews>

读取xml:的代码

`<asp:ListView ID="NewsList" runat="server" DataSourceID="XmlDataSource">
        <ItemTemplate>
            <h2><%# XPath("title") %></h2>
            <p>
                <%# XPath("content") %>
                <hr />
            </p>
        </ItemTemplate>
    </asp:ListView>
    <asp:XmlDataSource ID="XmlDataSource" runat="server" DataFile="~/News.xml"></asp:XmlDataSource>`

ASP.NET:将xml节点添加到文件的第一个位置

尝试PrependChild而不是AppendChild:

xmlfile.DocumentElement.PrependChild(News);