Hej, -> Läs upp filen i ett XmlDocument Efter en snabb Google-sökning hittade jag bland annat de här sidorna, kanske kan ta dig en bit på vägen iaf (har inte testat koden själv tyvärr): Ok, sökte själv, men hittade ingenting. Tack. Du får skriva så här istället, ungefär som i den första länken jag skickade:Ta bort rad från XML-fil
Har en XML-fil som ser ut enligt nedan:
<?xml version="1.0" encoding="UTF-8"?>
<player showDisplay="yes" showPlaylist="yes" autoStart="no">
<song path="mp3/nisse.mp3" title="Nisses låt" />
<song path="mp3/olle.mp3" title="Olles låt" />
</player>
Hur ska jag gå tillväga för att ta bort en rad om jag har ett givet värde?
Har en variabel (FileName) som har håller värdet för sökvägen till filen (song path)
Jag vill sedan ta bort hela den rad där song path är FileName
Någon som fattar hur jag menar?Sv: Ta bort rad från XML-fil
-> Leta upp noden med SelectNodes eller SelectSingleNode och ett XPath uttryck
-> Ta bort noden
-> Spara ner filen igenSv:Ta bort rad från XML-fil
http://www.topxml.com/code/?p=3&id=v20050220123611&ms=100&l=&sw=All
http://www.codeproject.com/soap/myXPath.aspSv: Ta bort rad från XML-fil
Har provat ett de exemplen du länkade till.
Får dock ett felmeddelandet;
System.Xml.XPath.XPathException: '/[@path='SongPath']' has an invalid token,
med nedanstående kod:
Sub DelFromXML()
Dim SongPath = "mp3/nisse.mp3"
' Skapa XmlDocument-objekt
Dim xmlDoc As XmlDocument = New XmlDocument
' Ladda in XML-filen
xmlDoc.Load(Server.MapPath("mp3player.xml"))
' Välj bara noder där path är = SongPath
Dim node As XmlNode = xmlDoc.SelectSingleNode("/[@path='SongPath']")
' Get Parent node of the returned node
Dim commonParent As XmlNode = node.ParentNode
If Not node Is Nothing Then
' Remove the current node
commonParent.RemoveChild(node)
End If
' Spara ner filen igen
xmlDoc.Save(Server.MapPath("mp3player.xml"))
' Visa resultat för användaren
Response.Write(xmlDoc.OuterXml)
End Sub
Någon som ser på direkten vad som är fel?
Sv:Ta bort rad från XML-fil
<code>
Dim node As XmlNode = xmlDoc.SelectSingleNode("/player/song[@path='" & SongPath & "']")
</code>