Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    195

    [VB.NET] Creare xml su pocket pc

    Chi è documentato su questo? Conoscete link in cui posso trovare appunti su ciò?

  2. #2
    Ho realizzato qualcosa in C#.
    I metodi da usare sono molto simili.
    Ti allego qualche riga di codice

    Fa parte di un programma che calcola le Profondita di Campo di un'ottica ad una certa apertura.
    Questo e' il codice per memorizzare le caratteristiche delle ottiche.

    codice:
    			XmlTextWriter xw = new XmlTextWriter(settingfile, System.Text.Encoding.UTF8);
    			xw.Formatting = Formatting.Indented;
    			xw.Indentation = 4;
    			xw.WriteStartDocument();
    			xw.WriteStartElement("lenses");
    			foreach( Lens lens in lensCollection)
    			{
    				xw.WriteStartElement("lens");
    				xw.WriteAttributeString("name", lens.Name);
    				xw.WriteAttributeString("focalmin", lens.MinFocalLenght.ToString());
    				xw.WriteAttributeString("focalmax", lens.MaxFocalLenght.ToString());
    				xw.WriteAttributeString("aperturemin", lens.MinAperture.ToString());
    				xw.WriteAttributeString("aperturemax", lens.MaxAperture.ToString());
    				xw.WriteEndElement();
    			}
    			xw.WriteEndElement();
    			xw.WriteEndDocument();
    			xw.Close();
    Questo e' invece il load.

    codice:
    			lensCollection = new LensCollections();
    
    			if (!File.Exists(settingfile)) return;
    
    			XmlDocument xmlDoc = new XmlDocument();
    			xmlDoc.Load(settingfile);
    
    			XmlNodeList lensList = xmlDoc.GetElementsByTagName("lens");
    
    			foreach( XmlNode node in lensList)
    			{
    				string name = node.Attributes.GetNamedItem("name").Value.ToString();
    				int minF = int.Parse(node.Attributes.GetNamedItem("focalmin").Value.ToString());
    				int maxF = int.Parse(node.Attributes.GetNamedItem("focalmax").Value.ToString());
    				int minA = int.Parse(node.Attributes.GetNamedItem("aperturemin").Value.ToString());
    				int maxA = int.Parse(node.Attributes.GetNamedItem("aperturemax").Value.ToString());
    				lensCollection.Add(name, minF, maxF, minA, maxA);
    				cbbLens.Items.Add(name);
    			}
    Spero ti sia utile

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    195
    non funziona per le applicazioni pocket pc

  4. #4
    Stai scherzando ?
    Allora ho un PocketPC con XP incorporato e non lo so ....

    Lo sto' usando sul PPC con il compact .net framework 1.1 installato.


  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    195
    Guarda ho creato una cosa del genere:

    Dim ds As New Data.DataSet

    ds.DataSetName = "NuovoDataSet"
    ds.Tables.Add("NuovaTabella")

    ds.Tables("NuovaTabella").Columns.Add("Colonna1")
    ds.Tables("NuovaTabella").Columns.Add("Colonna2")
    ds.Tables("NuovaTabella").Columns.Add("Colonna3")

    Dim rowVals(2) As String
    rowVals(0) = "Valore1"
    rowVals(1) = "Valore2"
    rowVals(2) = "Valore3"

    ds.Tables("NuovaTabella").Rows.Add(rowVals)

    ds.WriteXml("\NuovoXML.xml")


    Adesso però io vorrei che non creasse ogni volta un nuovo file xml che sostituisce quello vecchio, ma che in pratica ne creasse uno in caso non esiste e che ogni volta aggiunga un nuovo contenuto

  6. #6
    Secondo me, manca solamente l'istruzione di load.
    Dovresti fare cosi.
    Crei il dataset
    Guardi se esiste il file con File.Exists("nomefile")
    Se non esiste allora crei la tabella e le row.
    Se esiste, esegui la ds.ReadXml("nomefile").

    A questo punto puoi aggiungere i tuoi dati.
    Ho visto che sia la ReadXml che la WriteXml, hanno un secondo parametro che permette di memorizzare anche lo schema.
    Ti conviene fare 2 prove per vedere se e' necessario che sia presente per far correttamente il giochino di read/write.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.