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

时间:2014-04-11 11:37:06

标签: c# asp.net xml

我希望在我的网站上提供新闻,因此我创建了管理页面和简单表单,以便将新闻节点添加到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>`

1 个答案:

答案 0 :(得分:3)

尝试使用PrependChild代替AppendChild

xmlfile.DocumentElement.PrependChild(News);