![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
Hey Amico Visitatore, Condividi con noi le tue idee e la tua conoscenza Aprendo una nuova discussione nella sezione Asp & Asp.net |
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) |
|
User
Data di registrazione: Aug 2010
Messaggi: 12
|
file xml con asp
Vorrei leggere i dati contenuti in un file xml e memorizzarli in un database mediante una pagina asp.
Il problema è che il file xml non ha una struttura fissa. Es. <record> <id>1</id> <nome> nome1 </nome> <cognome> cognome1</cognome> <piva> piva1 </piva> </record> <record> <id>2</id> <nome>nome2 </nome> <cognome>cognome2 </cognome> </record> <record> <id>3</id> <nome>nome3 </nome> <piva>piva3 </piva> </record> Avrei bisogno di leggere il file xml e associare ogni elemnto di ogni nodo ad una variabile (per poi memorizzarla nel database). Se un nodo non contiene un elemento la relativa variabile dovrà essere vuota. potete aiutarmi? Grazie |
|
|
|
|
|
|
|
#3 (permalink) |
|
User Newbie
Data di registrazione: Aug 2010
Messaggi: 5
|
Ciao, se tu hai un file tipo questo:
*********************************************** File: test.xml *********************************************** <?xml version="1.0" encoding="utf-8"?> <root> <record> <id>1</id> <nome> nome1 </nome> <cognome> cognome1</cognome> <piva> piva1 </piva> </record> <record> <id>2</id> <nome>nome2 </nome> <cognome>cognome2 </cognome> </record> <record> <id>3</id> <nome>nome3 </nome> <piva>piva3 </piva> </record> </root> *********************************************** Ho creato una funzione che legge i nodi e questo è il risultato: *********************************************** Nodo(0) Nome = record ->id = 1 ->nome = nome1 ->cognome = cognome1 ->piva = piva1 Nodo(1) Nome = record ->id = 2 ->nome = nome2 ->cognome = cognome2 Nodo(2) Nome = record ->id = 3 ->nome = nome3 ->piva = piva3 *********************************************** Esempio di utilizzo: 'litXMLFile è un tag '<asp:Literal ID="litXMLFile" runat="server"> '</asp:Literal> 'dentro il form *********************************************** litXMLFile.Text = ReadXML("//root/record", "test.xml") *********************************************** Funzione Ti potrai creare un altra funzione SalvaRecord per salvarti ogni singolo valore Es: SalvaRecord(numElemento,NomeElemento,ValoreElement o) *********************************************** Imports System.Xml Public Function ReadXML(ByVal XPathQuery As String, ByVal FileName As String) As String 'Esempio di utilizzo (litXMLFile è <asp:Literal ID="litXMLFile" runat="server"></asp:Literal> dentro il form) 'litXMLFile.Text = ReadXML("//root/record", "test.xml") Dim retValue As String = "" Dim path As String = HttpContext.Current.Server.MapPath(FileName) Dim Doc As New XmlDocument() Doc.Load(path) Dim node As XmlNodeList = Doc.SelectNodes(XPathQuery) For numElemento As Integer = 0 To node.Count - 1 retValue &= "Nodo(" & numElemento & ") Nome = " & node(numElemento).Name & "<br/>" & vbCrLf For j As Integer = 0 To node(numElemento).ChildNodes.Count - 1 Dim NomeElemento As String = node(numElemento).ChildNodes(j).Name Dim ValoreElemento As String = node(numElemento).ChildNodes(j).InnerText retValue &= "->" & NomeElemento & " = " & ValoreElemento & "<br/>" & vbCrLf 'Qui ti crei la funzione per salvare i valori nel db.. 'Es.: SalvaRecord(numElemento,NomeElemento,ValoreElement o) Next Next Return retValue End Function |
|
|
|
|
|
#5 (permalink) |
|
User
Data di registrazione: Aug 2010
Messaggi: 12
|
file xml con asp
ciao
ho provato ad utilizzare il codice che mi hai inviato ma mi restituisce un errore. L'ho implementato in una pagina asp su dominio aruba. é il comando dim nome variabile as string che crea problemi? grazie |
|
|
|
| Tags: asp |
| Strumenti di discussione | |
|
|