XML - asp.net y xml

 
Vista:

asp.net y xml

Publicado por alvatross (1 intervención) el 10/11/2005 05:24:54
tengo el sigueinte problema, pues al tratar de escribir a xml en un archivo, pues me da un error de que no tengo permisos para escribir, el asunto es que estoy como administrador en mi pc, tengo los permisos de escritura habilitados en iiss, pero igual no me deja escribir, es mas, me podrian ayudar pues el error me sale que no se puede escribir dentro de la carpeta windows/system32, y yo no deseo que se grabe ahy el archivo sino en otra ubicacion que yo determine,por ultimo dentro de la carpeta de iiss, en inetpub. como se hace para especificar una carpeta de escritura, les envio el codigo para que porfa me ayuden.

private void Button2_Click(object sender, System.EventArgs e)
{
XmlTextWriter writer =new XmlTextWriter("formatoxml.xml",null);

writer.Formatting=Formatting.Indented;
writer.WriteStartDocument();
writer.WriteStartElement("formatoxml");
writer.WriteAttributeString("xmlns",null,"http://localhost/Sistema_DIICC/RRHH/formatoxml.xsd");
writer.WriteStartElement("nombre");
writer.WriteString(TextBox3.Text);
writer.WriteEndElement();
writer.WriteStartElement("segundonombre");
writer.WriteString(TextBox4.Text);
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close()

a la hora de especificar una direccion en el comando XmlTextWriter writer =new XmlTextWRiter("C:\inetpub\rrhh\",null); me da error de que no puedo escribir la direccion completa ahy, entonces donde especifico la direccion de escritura, y que pueda escribirlo?

gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Especificar la ubicación de escritura en un archivo XML en ASP.NET

Publicado por Alejandro (258 intervenciones) el 12/07/2023 17:07:07
El problema que estás experimentando se debe a que la carpeta `Windows/System32` tiene restricciones de seguridad que impiden la escritura de archivos por parte de aplicaciones web como ASP.NET. Además, la carpeta `Inetpub` también puede tener restricciones similares.

Para especificar una ubicación de escritura diferente para tu archivo XML en ASP.NET, puedes utilizar la ruta física de la carpeta virtual en tu servidor web. Aquí tienes una solución:

1. Obtén la ruta física de la carpeta virtual deseada:
- Puedes utilizar el método `MapPath` de la clase `Server` para obtener la ruta física de una carpeta virtual en tu servidor web.
- Por ejemplo, para obtener la ruta física de la carpeta `rrhh` dentro de `Inetpub`, puedes usar el siguiente código:

1
string rutaFisica = Server.MapPath("~/rrhh/");

2. Utiliza la ruta física en la creación del `XmlTextWriter`:
- Reemplaza la línea donde creas el `XmlTextWriter` con la ruta física de la carpeta deseada:

1
XmlTextWriter writer = new XmlTextWriter(rutaFisica + "formatoxml.xml", null);

Con esto, especificarás la ubicación de escritura del archivo XML en la carpeta `rrhh` dentro de `Inetpub`.

Recuerda asegurarte de que la cuenta de usuario utilizada por el servidor web tenga permisos de escritura en la carpeta virtual correspondiente. Puedes verificar los permisos de la carpeta y ajustarlos según sea necesario.

Espero que esta solución te ayude a especificar la ubicación de escritura en un archivo XML en ASP.NET y te permita escribir el archivo en la carpeta deseada dentro de tu servidor web.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar