---
title: "Spara datat högst upp i xml-filen?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/157676-spara-datat-högst-upp-i-xml-filen"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Metatron"
published: "2007-03-01T10:14:20.000Z"
updated: "2007-03-02T09:02:29.000Z"
replies: 2
views: 433
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/157676-spara-datat-högst-upp-i-xml-filen"
---

# Spara datat högst upp i xml-filen?

## #1 — Metatron, 2007-03-01T10:14Z

Vill att när jag lägger till nya filer att datat sparas högst upp i xml-filen och inte lägst ner.

Alltså en ny fil ska hamna ovanför denna, inte under.

```
<images>
  <pic>
    <image>mama.jpg</image>
    <caption>asd</caption>
    <thumbnail>t_mama.jpg</thumbnail>
</pic>
</images>
```

Resultat:

```
<images>
  <pic>
    <image>papa.jpg</image>
    <caption>asd</caption>
    <thumbnail>t_papa.jpg</thumbnail>
 </pic>
  <pic>
    <image>mama.jpg</image>
    <caption>asd</caption>
    <thumbnail>t_mama.jpg</thumbnail>
</pic>
</images>
```

Vad kan jag använda mig av?

Nedan finner ni koden för uppladdning av bilder.

```
protected void UploadImage(HttpPostedFile file)
{
   string fileName = file.FileName.Substring(file.FileName.LastIndexOf('\\') + 1);
   string filePath = MapPath("../Admin/XML//" + fileName);

        using (System.Drawing.Image image =  System.Drawing.Image.FromStream(file.InputStream))
        
        using (Bitmap bitmap = new Bitmap(image, 480, 360))
        {
            bitmap.Save(MapPath("../Admin/XML/l_" + fileName), System.Drawing.Imaging.ImageFormat.Jpeg);
            bitmap.Dispose();
        }

        using (System.Drawing.Image image = System.Drawing.Image.FromStream(file.InputStream))
        
        using (Bitmap bitmap = new Bitmap(image, 60, 45))
        {
            bitmap.Save(MapPath("../Admin/XML/thumbs/t_" + fileName), 
            image.RawFormat);
            bitmap.Dispose();
        }

        try
        {
            XmlDocument xDoc = new XmlDocument();
            xDoc.Load(Server.MapPath("../Admin/XML/mama.xml"));
            XmlElement newElem = xDoc.CreateElement("pic");

            if (TextBox1.Text == "")
            {
                TextBox1.Text = "Mama";
            }

            newElem.InnerXml = "<image></image><caption></caption><thumbnail></thumbnail>";
            newElem.AppendChild(xDoc.CreateWhitespace("\r\n")); // Linefeed
            newElem["image"].InnerText = "admin/XML/l_" + fileName;
            newElem["caption"].InnerText = TextBox1.Text;
            newElem["thumbnail"].InnerText = "admin/XML/thumbs/t_" + fileName;

            xDoc.DocumentElement.AppendChild(newElem);

            XmlTextWriter writer = new XmlTextWriter(Server.MapPath("../Admin/XML/mama.xml"), null);

            writer.Formatting = Formatting.Indented;
            xDoc.PreserveWhitespace = true;
            xDoc.WriteTo(writer);
            writer.Close();
```

Permalänk: https://www.webforum.nu/p/157676

## #2 — emission, 2007-03-01T10:27Z

Du får använda InsertBefore(newElem,xDoc.DocumentElement.FirstChild) i stället för AppendChild.

Permalänk: https://www.webforum.nu/p/1941362

## #3 — Metatron, 2007-03-02T09:02Z

Tack det fungerade!

xDoc.DocumentElement.InsertBefore(newElem, xDoc.DocumentElement.FirstChild);

Permalänk: https://www.webforum.nu/p/1941637

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/157676-spara-datat-högst-upp-i-xml-filen
