2011-01-10 21 views
5

im tratando de crear un archivo XML y luego guardarlo en una ubicación de archivo ...crear el archivo XML mediante programación

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); 

el problema es que no es que se guarda en la ubicación especificada ...

+0

has necesitado depuración para comprobar cuál es la trayectoria real es que se da cuando se trata de ¿salvar? ¿También recibe algún error, o el archivo simplemente no está donde lo espera? – Adkins

+0

¿Hay algún error o resultado? ¿Comprobaste si la ruta en 'xmlPath' es válida? ¿Cerró/detuvo la aplicación antes de buscar el archivo? –

+0

puede verificar la variable xmlPath antes de llamar al guardado para ver qué valor obtuvo, el predeterminado * AppDomain.CurrentDomain.BaseDirectory.ToString() * = la carpeta de depuración de la aplicación –

Respuesta

3

El código se ve bien y cuando lo probé localmente funcionó. Asegúrese de que xmlPath apunta a un directorio donde el usuario actual tiene permisos de escritura. Como nota al margen, sería mejor usar Path.Combine.

+0

yup el código estaba funcionando ... tnx a todos para responder ... – Rafay

8

intenta utilizar el método System.IO.Path.Combine para asegurarse de que a) tiene la barra invertida necesaria entre el directorio y el nombre del archivo, y que b) asegurarse de que no tengan varias de ellas:

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

Además: tal vez su cuenta de usuario no tenga los permisos para escribir en ese directorio. Intente utilizar algo como Almacenamiento aislado u otro directorio en el que esté 100% seguro que el usuario puede escribir.

+1

¡Felicidades a tus 100k! ;-) –

1

Lo mejor que puede hacer es ejecutar este programa a través del depurador y verificar cuál es la ubicación que se le da en la variable xmlpath, y también verificar si un usuario local normal tiene permisos de escritura para este directorio. Puede haber varios problemas con la carpeta o la ruta que se le da. Sin embargo, sin otra información es difícil dar una respuesta más detallada.

2

si está utilizando una ruta de aplicación de Windows estará apuntando al directorio bin creo que es el ahorro en el directorio bin

Cuestiones relacionadas