Jag ahr en XML-fil som jag vill kunna lägga till iniformation i. XML-filen finns redan och den första informationen har jag lagt in i den genom att helt enkelt skriva i filen. Men hur löser jag detta om jag vill kunna skriva till den via ett formulär på en aspx-sida? Löste det med att lagra det i en databas istället och därifrån läsa ut det till en XML-fil. Men visst måste det väl gå att lägga till det så som jag beskrev innan? Jag fick det att fungera om jag läste in hela XML-filen och la till det jag ville på slutet, men det känns lite dumt att behöva läsa in hela filen. Filen kan ju bli rätt stor. Njae du måste läsa upp hela filen, lägga till noder och sen spara hela filen. Det enklaste i .Net är att använda klassen XmlDocument, som är en implementation av W3C DOM level 1 & 2, och därigenom ändra i filen. Klassen läser visserligen in hela filen i minnet, men så länge din fil inte är gigantisk och inläsningen inte sker väldigt ofta så är det ingen fara. Skriva till en XML-fil?
Säg att filen ser ut så här:
<code>
<projects>
<project id="1" projectName="SM-mobil" customer="Min kund" hourlyRate="450" planMaxHours="160" usedHours="0"
projInfo="Testar">
<dayReport>
<date id="2006-10-25" />
<usedHours id="8" />
<report>
Har börjat kolla på hur jag ska lösa detta.
</report>
</dayReport>
</project>
</projects>
</code>
Då vill jag kunna lägga till all information i "dayReport" samt uppdatera "usedHours". dayReport kommer alltså att förekomma ett obegränsat antal gånger. jag använder C#.Sv: Skriva till en XML-fil?
Skulle vara väldigt glad om jag fick lite tips om detta. Så jag låter tråden vara öppen.Sv: Skriva till en XML-fil?
Alternativ läsa med XmlTextReader och Skriva med XmlTextWriter. Det kostar lite mindre minne men det är ju ändå mycket som ska göras om det är en stor fil. XML passar helt enkelt inte bra för att hålla data i stora mängder, då är en databas helt klart det du ska välja. Du bör betrakta XML mer som ett klister mellan system/komponenter än ett sätt att lagra data på.Sv:Skriva till en XML-fil?
När du väl läst in filen så är det enkelt att lägga till och ändra data.
Välj nod(er) som ska ändras med metoderna SelectNodes och SelectSingleNode, skapa nya noder med Create*-metoderna och lägg till nya noder med AppendChild.