2011-01-10 9 views
5

nel tentativo di creare un file XML e quindi salvarlo in un percorso di file ...creare file XML di programmazione

string xmlPath = AppDomain.CurrentDomain.BaseDirectory.ToString() + "cities.xml"; 

XDocument doc = new XDocument( 
     new XElement("Cities", 
      new XElement("City", 
       new XAttribute("id", gid), 
       new XElement("CityName", cityname)))); 
doc.Save(xmlPath); 

il problema è che il suo non essere salvato nella posizione specificata ...

+0

hai provato il debug per controllare ciò che il percorso effettivo è che si è dato quando cerca di salvare? Hai anche degli errori, o il file non è semplicemente dove ti aspetti? – Adkins

+0

Ci sono errori o uscite? Hai controllato se il percorso in 'xmlPath' è valido? Hai chiuso/fermato l'applicazione prima di cercare il file? –

+0

è possibile controllare la variabile xmlPath prima di chiamare il salvataggio per vedere quale valore ha, il predefinito * AppDomain.CurrentDomain.BaseDirectory.ToString() * = la cartella di debug dell'applicazione –

risposta

3

Il codice sembra buono e quando l'ho testato localmente ha funzionato. Assicurarsi che xmlPath punti a una directory in cui l'utente corrente dispone di autorizzazioni di scrittura. Come nota a margine, sarebbe meglio usare Path.Combine.

+0

sì il codice funzionava ... tutti quelli che rispondevano ... – Rafay

8

tenta di utilizzare il metodo System.IO.Path.Combine per assicurarsi che a) ha la barra inversa necessario tra la directory e il nome del file, e di b) assicurarsi che non si dispone di più di quelli:

string xmlPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, 
             "cities.xml"); 

Inoltre: forse il tuo account utente non ha i permessi per scrivere in quella directory. Prova a utilizzare qualcosa come Storage isolato o qualche altra directory sei sicuro al 100% che l'utente è autorizzato a scrivere.

+1

Congratulazioni al tuo 100k! ;-) –

1

La cosa migliore che si può fare è eseguire questo programma attraverso il debugger e verificare quale sia la posizione che è data nella variabile xmlpath, e anche controllare se un normale utente locale ha i permessi di scrittura su questa directory. Potrebbe esserci un numero qualsiasi di problemi con la cartella o il percorso che viene fornito. Senza altre informazioni, tuttavia, è difficile dare una risposta più descrittiva.

2

se si utilizza un percorso di applicazione di Windows punterà alla directory bin penso che è il risparmio nella directory bin

Problemi correlati