| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Wrapper-klasse til XML-fil persistens. Fra : Morten Nørgaard | 
  Dato :  02-03-04 15:26 |  
  |   
            Hej gruppe.
 
     Jeg kan parse xml fra en xml-fil og oprette en ny xml-fil. Jeg benytter
 mig af streams til dette. Det fungerer sådan set fint nok. Men egentlig
 ville jeg gerne kunne påvirke en xml-fil på samme måde som jeg kan påvirke
 et DOM objekt i hukommelsen. Tag f.eks."documentNode.appendChild(
 newNode )'. Jeg vil gerne gøre noget i denne her retning:
 'outputstream.documentNode.appendChild( newNode )', og efterfølgende åbne
 filen i min texteditor og finde ud af at newNode er skrevet ind i filen på
 det rigtige sted. Med andre ord har jeg brug for en wrapper-klasse, af en
 art. Det må der da være nogen der har tænkt på før. Er der nogen der kender
 til en klasse af den art?
 
 På forhånd tak for svar.
 
 Morten
 
 
  
            
             |   |   
            
        
 
            
         
           Morten Nørgaard (02-03-2004) 
         
	
            | Kommentar Fra : Morten Nørgaard | 
  Dato :  02-03-04 15:50 |  
  |   
            
 >     Jeg kan parse xml fra en xml-fil og oprette en ny xml-fil. Jeg
 benytter
 > mig af streams til dette. Det fungerer sådan set fint nok. Men egentlig
 > ville jeg gerne kunne påvirke en xml-fil på samme måde som jeg kan påvirke
 > et DOM objekt i hukommelsen. Tag f.eks."documentNode.appendChild(
 > newNode )'. Jeg vil gerne gøre noget i denne her retning:
 > 'outputstream.documentNode.appendChild( newNode )', og efterfølgende åbne
 > filen i min texteditor og finde ud af at newNode er skrevet ind i filen på
 > det rigtige sted. Med andre ord har jeg brug for en wrapper-klasse, af en
 > art. Det må der da være nogen der har tænkt på før. Er der nogen der
 kender
 > til en klasse af den art?
 
 Jeg kan tilføje at jeg blot har en dokument-node og x antal childNodes til
 denne. Jeg står for at skulle tilføje til disse childNodes, og intet andet.
 Dvs. strukturen på xml-filen vil ikke ændre sig ud over dette.
 
 /Morten
 
 
  
            
             |   |   
            
        
 
            
         
           Thorbjørn Ravn Ander~ (02-03-2004) 
         
	
            | Kommentar Fra : Thorbjørn Ravn Ander~ | 
  Dato :  02-03-04 15:59 |  
  |   
            Morten Nørgaard wrote:
 > Hej gruppe.
 > 
 >     Jeg kan parse xml fra en xml-fil og oprette en ny xml-fil. Jeg benytter
 > mig af streams til dette. Det fungerer sådan set fint nok. Men egentlig
 > ville jeg gerne kunne påvirke en xml-fil på samme måde som jeg kan påvirke
 > et DOM objekt i hukommelsen. Tag f.eks."documentNode.appendChild(
 > newNode )'. Jeg vil gerne gøre noget i denne her retning:
 > 'outputstream.documentNode.appendChild( newNode )', og efterfølgende åbne
 
 Hvorfor læser du ikke din XML ind i en DOM?
 
 
 -- 
    Thorbjoern Ravn Andersen      "...plus...Tubular Bells!"
  
            
             |   |   
            
        
 
            
         
           Morten Nørgaard (02-03-2004) 
         
	
            | Kommentar Fra : Morten Nørgaard | 
  Dato :  02-03-04 16:26 |  
  |   
            > >     Jeg kan parse xml fra en xml-fil og oprette en ny xml-fil. Jeg
 benytter
 > > mig af streams til dette. Det fungerer sådan set fint nok. Men egentlig
 > > ville jeg gerne kunne påvirke en xml-fil på samme måde som jeg kan
 påvirke
 > > et DOM objekt i hukommelsen. Tag f.eks."documentNode.appendChild(
 > > newNode )'. Jeg vil gerne gøre noget i denne her retning:
 > > 'outputstream.documentNode.appendChild( newNode )', og efterfølgende
 åbne
 >
 > Hvorfor læser du ikke din XML ind i en DOM?
 
 Det gør jeg skam også. Som jeg skriver, 'jeg kan parse xml'. Men pointen er
 den at de ændringer jeg foretager mig, bliver skrevet til DOM'en - i
 hukommelsen. Jeg vil gerne have at ændringerne i DOM'en afspejler sig i
 xml-filen på disken, samtidig med at DOM'en bliver ændret.
 
 Morten
 
 
 > -- 
 >    Thorbjoern Ravn Andersen      "...plus...Tubular Bells!"
 
 
  
            
             |   |   
            
        
 
            
         
            Thorbjørn Ravn Ander~ (02-03-2004) 
         
	
            | Kommentar Fra : Thorbjørn Ravn Ander~ | 
  Dato :  02-03-04 16:42 |  
  |   
            Morten Nørgaard wrote:
 
 > Det gør jeg skam også. Som jeg skriver, 'jeg kan parse xml'. Men pointen er
 > den at de ændringer jeg foretager mig, bliver skrevet til DOM'en - i
 > hukommelsen. Jeg vil gerne have at ændringerne i DOM'en afspejler sig i
 > xml-filen på disken, samtidig med at DOM'en bliver ændret.
 
 Det kan du - så vidt jeg ved - kun ved at skrive DOM'en ud igen.
 
 De færreste filsystemer er bygget til den slags operationer.
 -- 
    Thorbjoern Ravn Andersen      "...plus...Tubular Bells!"
  
            
             |   |   
            
        
 
            
         
            Michael Zedeler (02-03-2004) 
         
	
            | Kommentar Fra : Michael Zedeler | 
  Dato :  02-03-04 19:29 |  
  |   
            Morten Nørgaard wrote:
 
 >>Hvorfor læser du ikke din XML ind i en DOM?
 > 
 > Det gør jeg skam også. Som jeg skriver, 'jeg kan parse xml'. Men pointen er
 > den at de ændringer jeg foretager mig, bliver skrevet til DOM'en - i
 > hukommelsen. Jeg vil gerne have at ændringerne i DOM'en afspejler sig i
 > xml-filen på disken, samtidig med at DOM'en bliver ændret.
 
 Det lyder som en ret speciel funktionalitet, du har brug for. Hvorfor 
 kan du ikke bare gemme det hele når du er færdig?
 
 Mvh. Michael.
 
  
            
             |   |   
            
        
 
            
         
             Morten Nørgaard (03-03-2004) 
         
	
            | Kommentar Fra : Morten Nørgaard | 
  Dato :  03-03-04 09:14 |  
  |   
            
 "Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
 news:mr41c.103185$jf4.6200039@news000.worldonline.dk...
 > Morten Nørgaard wrote:
 >
 > >>Hvorfor læser du ikke din XML ind i en DOM?
 > >
 > > Det gør jeg skam også. Som jeg skriver, 'jeg kan parse xml'. Men pointen
 er
 > > den at de ændringer jeg foretager mig, bliver skrevet til DOM'en - i
 > > hukommelsen. Jeg vil gerne have at ændringerne i DOM'en afspejler sig i
 > > xml-filen på disken, samtidig med at DOM'en bliver ændret.
 >
 > Det lyder som en ret speciel funktionalitet, du har brug for. Hvorfor
 > kan du ikke bare gemme det hele når du er færdig?
 
 Hej Michael,
 
 det ender det nok også med at jeg gør. Men det føles som spild af resourcer.
 Jeg har en DOM der vil ændre sig løbende over den tid (1-2 timer) en bruger
 benytter sig af min applikation, dvs. fra der startes til brugen af
 programmet er færdig vil det gå et par timer. Det er lang tid at stole på at
 der ikke går noget galt i klientmiljøet, der vil få programmet og dermed
 DOM'en til at forsvinde fra hukommelsen - og dermed også slette de
 ændringer, brugeren har foretaget. Jeg kan så vælge at gemme hele DOM'en,
 som du siger, men i princippet vil jeg så skulle overskrive hele min fil
 efter hver eller x antal ændringer - og det virker nu som et spild af tid,
 når det nu kun er en lille del der skal tilføjes. Typisk vil DOM'en komme
 til at fylde omkring 25-30 KB. Jeg må finde en anden måde at gøre det på -
 formentlig ved at skrive ændringer til en tekstfil, og så checke efter om
 programmet blev afsluttet ordentligt - for _så_ at skrive DOM'en til fil,
 vel vidende at jeg har en tekstfil med ændringerne som backup.
 
 /Morten
 
 
 
 
 > Mvh. Michael.
 >
 
 
  
            
             |   |   
            
        
 
            
         
              Thorbjørn Ravn Ander~ (03-03-2004) 
         
	
            | Kommentar Fra : Thorbjørn Ravn Ander~ | 
  Dato :  03-03-04 13:50 |  
  |   
            Morten Nørgaard wrote:
 
 > ændringer, brugeren har foretaget. Jeg kan så vælge at gemme hele DOM'en,
 > som du siger, men i princippet vil jeg så skulle overskrive hele min fil
 > efter hver eller x antal ændringer - og det virker nu som et spild af tid,
 > når det nu kun er en lille del der skal tilføjes. Typisk vil DOM'en komme
 > til at fylde omkring 25-30 KB. Jeg må finde en anden måde at gøre det på -
 
 Du kunne også autosave den hvert X'ende minut.
 
 -- 
    Thorbjoern Ravn Andersen      "...plus...Tubular Bells!"
  
            
             |   |   
            
        
 
            
         
              Michael Zedeler (03-03-2004) 
         
	
            | Kommentar Fra : Michael Zedeler | 
  Dato :  03-03-04 17:40 |  
  |   
            Morten Nørgaard wrote:
 > "Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
 > news:mr41c.103185$jf4.6200039@news000.worldonline.dk...
 > 
 >>Morten Nørgaard wrote:
 >>
 >>
 >>>>Hvorfor læser du ikke din XML ind i en DOM?
 >>>
 >>>Det gør jeg skam også. Som jeg skriver, 'jeg kan parse xml'. Men pointen
 > 
 > er
 > 
 >>>den at de ændringer jeg foretager mig, bliver skrevet til DOM'en - i
 >>>hukommelsen. Jeg vil gerne have at ændringerne i DOM'en afspejler sig i
 >>>xml-filen på disken, samtidig med at DOM'en bliver ændret.
 >>
 >>Det lyder som en ret speciel funktionalitet, du har brug for. Hvorfor
 >>kan du ikke bare gemme det hele når du er færdig?
 
 > det ender det nok også med at jeg gør. Men det føles som spild af resourcer.
 > Jeg har en DOM der vil ændre sig løbende over den tid (1-2 timer) en bruger
 > benytter sig af min applikation, dvs. fra der startes til brugen af
 > programmet er færdig vil det gå et par timer. Det er lang tid at stole på at
 > der ikke går noget galt i klientmiljøet, der vil få programmet og dermed
 > DOM'en til at forsvinde fra hukommelsen - og dermed også slette de
 > ændringer, brugeren har foretaget. Jeg kan så vælge at gemme hele DOM'en,
 > som du siger, men i princippet vil jeg så skulle overskrive hele min fil
 > efter hver eller x antal ændringer - og det virker nu som et spild af tid,
 > når det nu kun er en lille del der skal tilføjes.
 
 Den "rigtige" løsning ville være at gemme en slags "DOM-transaktioner" 
 på disk, som så kan rulles frem hvis programmet går ned før at man får 
 committet dem.
 
 > Typisk vil DOM'en komme
 > til at fylde omkring 25-30 KB. Jeg må finde en anden måde at gøre det på -
 > formentlig ved at skrive ændringer til en tekstfil, og så checke efter om
 > programmet blev afsluttet ordentligt - for _så_ at skrive DOM'en til fil,
 > vel vidende at jeg har en tekstfil med ændringerne som backup.
 
 Æh. Der skrev du jo selv lidt af det samme. Thorbjørn foreslår autosave 
 med faste intervaller. Når det er så lille en fil er det vel ok, så 
 længe at du har en gennemtænkt recovery-rutine som kan rydde op i den 
 situation at programmet går ned midt imens at det er ved at autosave.
 
 Mvh. Michael.
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |