358 messaggi dal 11 luglio 2003
Sto litigando un po' con LINQToXML...
Ho creato un file XML con:
        Dim fileimpostazioni As XDocument = _
        <?xml version="1.0"?>
        <!--Impostazioni CrackClock-->
        <xml>
            <Impostazioni>
                <Percorso_Programma></Percorso_Programma>
                <Minuti></Minuti>
                <Data></Data>
            </Impostazioni>
        </xml>
        fileimpostazioni.Save(My.Application.Info.DirectoryPath & "\config.xml")

Adesso mi chiedo, come faccio a leggere dal file XML il valore di "Percorso_Programma", "Minuti", "Data"?
Ho inserito tra i riferimenti:
System.Core
System.XML
System.XML.Linq
ho importato:
Imports System.Xml
Imports System.Xml.Linq
Imports System.Linq

Visto che qualsiasi codice che utilizzo mi da un errore, sapreste dirmi un modo semplice per leggere il file XML?
Ciao

No comment...
358 messaggi dal 11 luglio 2003
Grazie per il link, lo avevo già visto così come ne ho visti tanti altri ma, sicuramente è un mio limite , non riesco a far funzionare nessun esempio.
Mettiamo questo esempio:
  var xml = "<Orders>" +
  "<Order>" +
    "<CustomerID>QUICK</CustomerID>" +
    "<Price>1000</Price>" +
    "</Order>" +
    "<Order>" +
      "<CustomerID>ALFKI</CustomerID>" +
      "<Price>1000</Price>" +
    "</Order>" +
    "<Order>" +
      "<CustomerID>ALFKI</CustomerID>" +
      "<Price>250</Price>" +
    "</Order>" +
    "</Orders>";

            var q = from el in XDocument.Parse(xml).Element("Orders").Elements("Order")
                    where (string)el.Element("CustomerID").Value == "ALFKI"
                    select new { CustomerID = (string)el.Element("CustomerID"), Price = (string)el.Element("Price") };


Come faccio a leggere il valore restituito dalla Query?
Come faccio a recuperare i dati da un file XML e non da una variabile?
Come faccio a convertire questo esempio in VB.NET?
Mi starò bloccando pure su una sciocchezza ma non riesco...bohhh
Ciao.

No comment...
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
Tranquillo, è il nuovo approccio che crea i problemi

Nel caso dell'esempio che hai postato:

var q = from el in
XDocument.Parse(xml).Element("Orders").Elements("Order")
where (string)el.Element("CustomerID").Value == "ALFKI"
select new { CustomerID =
(string)el.Element("CustomerID"), Price = (string)el.Element("Price") };

Ora in "q" hai un oggetto che ti restituirà il risultato della "query". Con "select new" dici al framework di creati un nuovo tipo di oggetto contenenti una collection con il risultato voluto.

Ora, per accedere ai singoli valori ("Customerid" e "Price"), ti basta scrivere:

var obj=q.Single(); // <- in obj sarà presete il nuovo tipo di oggetto string customid=q.CustomerID;
string price=q.Price;


La sintassi del VB è pressocché simile, ma ai ritorni a capo devi aggiunere i "_".

Ciao
Modificato da andrewz il 24 febbraio 2008 22.03 -
358 messaggi dal 11 luglio 2003
Scusami se non ti ho risposto prima ma proprio non ho avuto tempo di testare il codice che mi hai postato ne tantomeno di fare delle prove. Non appena posso ritornerò sull'argomento(adesso sono preso da altre cose ma spero di ritornarci presto).
Grazie mille.

No comment...
358 messaggi dal 11 luglio 2003
Finalmente ho trovato un po di tempo per riprendere il discorso e altrettanto finalmente ci sono riuscito a risolvere questa "scocciatura".Posto nell'eventualità possa servire a qualcun'altro.
Per creare un file XML:
 Dim fileimpostazioni As XDocument = _
        <?xml version="1.0"?>
        <xml>
            <Impostazioni>
                <Percorso_Programma></Percorso_Programma>
                <Minuti></Minuti>
                <Data></Data>
            </Impostazioni>
        </xml>
        fileimpostazioni.Save(My.Application.Info.DirectoryPath & "\config.xml")


Per leggere il contenuto del file XML:

  Dim fileimpostazioni As XDocument = XDocument.Load(My.Application.Info.DirectoryPath & "\config.xml")
            Dim posts = From b In fileimpostazioni.Descendants("Impostazioni") _
                        Select Percorso = b.Element("Percorso_Programma").Value, _
                               tempo = b.Element("Minuti").Value, _
                               PubDate = Convert.ToDateTime(b.Element("Data").Value)

            For Each post As Object In posts
                MessageBox.Show(post.Percorso)
                MessageBox.Show(post.tempo)
                MessageBox.Show(post.PubDate)
            Next

Gli unici errori che ho sono dei Warning su "...Object in Posts":
Conversione implicita da 'Object' a 'System.Collections.IEnumerable'.

e su "Post.Percorso","Post.tempo","Post.PubData":
Conversione implicita da 'Object' a 'String'.

che non riesco a risolvere con un cstr(). Non appena trovo una soluzione anche per questo posto.
Ciao e grazie ad andrewz

No comment...
1 messaggio dal 13 novembre 2023
Mi scuso per il ritardo nella risposta, ma non ho avuto il tempo di testare il codice che hai postato. Per ora devo occuparmi di altro, ma tornerò sull'argomento appena possibile. https://wordletoday.io/

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.