---
title: "deleta nod i en XML fil, hur?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/155870-deleta-nod-i-en-xml-fil-hur"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Metatron"
published: "2007-01-11T14:22:14.000Z"
updated: "2007-01-15T07:17:41.000Z"
replies: 8
views: 571
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/155870-deleta-nod-i-en-xml-fil-hur"
---

# deleta nod i en XML fil, hur?

## #1 — Metatron, 2007-01-11T14:22Z

Har skapat en asp.net sida som använder en xml-fil som databas.

Jag vet hur jag ska göra för att lägga till bilder men hur gör jag för att tabort?
Hur ska jag göra om jag vet filnamnet och vill ta bort hela noden pic.

XML-fil

\<images\>
  \<pic\>
    \<image\>l_DSC01217.JPG\</image\>
    \<caption\>asdfasdf\</caption\>
    \<thumbnail\>thumbs/t_DSC01217.JPG\</thumbnail\>
  \</pic\>
  \<pic\>
    \<image\>l_DSC01228.JPG\</image\>
    \<caption\>sdfsdf\</caption\>
    \<thumbnail\>thumbs/t_DSC01228.JPG\</thumbnail\>
  \</pic\>
\<images\>

Vill att den ska funka så här. 

If node.image == textbox.text
delete node

Alltså om textbox.text hade varit l_DSC01217.JPG skulle xml-filen se ut såhär efteråt.

\<images\>
  \<pic\>
    \<image\>l_DSC01228.JPG\</image\>
    \<caption\>sdfsdf\</caption\>
    \<thumbnail\>thumbs/t_DSC01228.JPG\</thumbnail\>
  \</pic\>
\<images\>

Fråga 2: Går det att samtidigt deleta den fysiska bilden från webbservern?
Hur gör jag det.

Förklara gärna med c# kod

Tacksam för svar

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

## #2 — inspiro, 2007-01-11T14:32Z

xml-frågan vet jag itne hur man gör på rak arm, men ta bort en fil gjorde jag för ett tag sen... det är väldigt enkelt!

```
//exempel
            FileInfo file = new FileInfo(sökvägen till filen som ska bort);
            if (file.Exists)
                file.Delete();
```

Du måste såklart ha rättigheter så att du får ta bort filer i katalogen också.

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

## #3 — emission, 2007-01-11T15:57Z

Läs in filen i XmlDocument, leta upp noden med SelectSingleNode och ta bort den med RemoveChild

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

## #4 — Metatron, 2007-01-12T08:46Z

Skulle bli väldigt tacksam om du kunde visa med kod som exempel.

Tacksam för den hjälp jag fått hittills!

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

## #5 — Metatron, 2007-01-12T13:13Z

Hur gör jag för att ta bort filen? Hur vet jag om jag har rättigheterna

Har provat nedanstående kod men inget händer!?

        FileInfo file = new FileInfo(bild);
        if (file.Exists)
                file.Delete();

\-----------------------------------------------------
Har löst XML problemet: Nedan koden om ngn har samma problem
\-----------------------------------------------------

    protected void Button1_Click(object sender, EventArgs e)
    {
        XmlDocument doc = new XmlDocument();
        doc.Load(Server.MapPath("XXX.xml"));
        String bild = (string)myParentDDList.SelectedValue;

        XmlNode myNode = doc.SelectSingleNode("images/pic\[image='" + bild + "'\]");
                                              
        XmlElement root = doc.DocumentElement;
        root.RemoveChild(myNode);
        //Slutligen sparar vi vårt nya XML-dokument
        doc.Save(Server.MapPath("XXX.xml"));

        FileInfo file = new FileInfo(bild);
        if (file.Exists)
                file.Delete();
    }

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

## #6 — inspiro, 2007-01-12T15:12Z

Har du kollat så sökvägen verkligen är rätt så inte file.exist är false? Glöm inte dubbla "\\\\" i sökvägen eller ett @ framför! (c:\\\\katalog\\\\fil.gif)

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

## #7 — Metatron, 2007-01-14T18:41Z

Får det endå inte att fungera som jag vill. c:\\\\ fungerar men jag skulle hellst vilja ha det som jag beskriver nedan.

den fil jag vill deleta har sökvägen: ../Admin/Xtras/Bild/bild.jpg

Alltså aspx sidan som ska göra jobbet ligger i en map, ../Sidor/xtras.aspx

Jag skulle hellst vilja använda mig av denna sökväg ../Admin/Xtras/Bild/bild.jpg går det?

Tack för svaren, alla svar har varit till stor hjälp. Snart är det löst ;)

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

## #8 — emission, 2007-01-14T20:06Z

Då får du använda Server.MapPath, så att du får ut den fysiska sökvägen till filen.

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

## #9 — Metatron, 2007-01-15T07:17Z

Funkade utmärkt med Server.MapPath!

Tack alla för hjälpen, alla problem lösta.

\-----------------------------------------------------------
Lösningen
\-----------------------------------------------------------

    String bild = (string)myParentDDList.SelectedValue;    

    FileInfo file = new FileInfo(Server.MapPath("../" + bild));
    if (file.Exists)
    {
        file.Delete();
        Response.Write("Hot MAMA");
    }

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/155870-deleta-nod-i-en-xml-fil-hur
