Hola
Necesito guardar lo que tengo en un textbox como xml en una carpeta en el servidor, de manera que cada vez que guarde el texto se guarde en el mismo archivo xml como un nuevo registro. Gracias
| |||
Como creo un XML desde un textbox en asp.net? Hola Necesito guardar lo que tengo en un textbox como xml en una carpeta en el servidor, de manera que cada vez que guarde el texto se guarde en el mismo archivo xml como un nuevo registro. Gracias
__________________ J-.-`.:: |
| |||
Aqui tenes un ejemplo para agregar Nodos a tu XML. Dim objParser = Server.CreateObject("Microsoft.XMLDOM") Dim Node = Server.CreateObject("Microsoft.XMLDOM") Dim Fila = Server.CreateObject("Microsoft.XMLDOM") Sub XML(ByVal Id As String, Optional ByVal Cad As String = "") Fila = objParser.createElement("Fila") 'Se crea el Nodo Fila Fila.setAttribute("Id", Id) Fila.appendChild(objParser.createElement("TipoLine a")) Fila.childNodes.Item(0).text = Request.Form("cmboTipLin" & Request.Form("NFila")) Fila.appendChild(objParser.createElement("Cantidad ")) Fila.childNodes.Item(1).text = "0" Fila.appendChild(objParser.createElement("ValorDet alle")) Fila.childNodes.Item(2).text = "0" Fila.appendChild(objParser.createElement("Impuesto ")) Fila.childNodes.Item(3).text = "0" End Sub O Para crearlos: Imports System.IO Imports System.Xml Sub Xml(ByVal Fecha$, ByVal BsTc$) Dim path$ = Session("FullPathXMLU") Dim ArchivoXML As XmlTextWriter = New XmlTextWriter(path, Nothing) With ArchivoXML .Formatting = System.Xml.Formatting.Indented .WriteStartDocument(False) .WriteStartElement("MovimientoCXP") 'Encabezado del formulario Detalles .WriteStartElement("Cabecera") 'Descripción de Cabecera .WriteAttributeString("Id", Session("Usr")) 'Poner Nombre del Usuario que crea el archivo .WriteElementString("TTrans", Request.QueryString("tTran")) 'Hijo de Cabecera .WriteElementString("Detalles", "") .WriteEndElement() .WriteEndElement() .Flush() .Close() End With End Sub
__________________ Julio Hernández |
| |||
Hay un par de namespace para manejar archivos Xml System.Xml y System.Xml.XPath XmlDocument podes leer el archivo completo, con XmlPath podes manejar el archivo y recorrerlo. La diferencia es que XmlDocument lee todo el archivo, por lo que te consume más memoría, y el XmlPath te lee el archivo directamente, utilizando el objeto XPathNavigator. Lo que si tendrías que hacer es un truco para manejar el xml más eficientemente...busca sobre referencias externas en xml, para que los archivos te queden algo así: <?xml version="1.0"?> <tabla> &archivoExt; </tabla> y el otro archivo tendría: <registro> <texto1>texto de ejmplo</texto1> <a>bbb</a> </registro> <registro> <texto1>texto de ejmplo</texto1> <a>bbb</a> </registro> Entonces la concatenación la haces a este archivo (un append), sin tener que estar modificandolo por completo cada vez. Espero que se me entienda este caso por que no encuentro el ejemplo donde lo vi en internet. El XPathNavigator al final vería los dos archivos como uno... <?xml version="1.0"?> <tabla> <registro> <texto1>texto de ejmplo</texto1> <a>bbb</a> </registro> <registro> <texto1>texto de ejmplo</texto1> <a>bbb</a> </registro> </tabla>
__________________ José Luis Chávez del Cid Systems Developer Specialist ACS Inc./Xerox Guatemala |