none
Conversione c# to vb.net RRS feed

  • Domanda

  • Ciao ragazzi. Approfitto di nuovo del vostro prezioso aiuto.



    Ho questa private string in c# fatta con linq che ritorna un valore trovato in un file xml. Avrei bisogno di convertirlo in una funzione vb.net. Ho provato con il c# converter ma non va. Mi aiutereste per favore?
    Grazie.
    sotto il codice

    private string ImportoXML(string PercorsoXML, string ID)
        {
            XElement xdoc = XElement.Load(PercorsoXML, LoadOptions.PreserveWhitespace);
    
            string ns = xdoc.Name.Namespace.NamespaceName;
    
            var elements = xdoc.Elements(XName.Get("PmtInf", ns)).Elements(XName.Get("DrctDbtTxInf", ns));
    
            var ElencoValori = from lv2 in elements
                               select new
                               {
                                   PmtId = lv2.Element(XName.Get("DrctDbtTx", ns))
                                               .Element(XName.Get("MndtRltdInf", ns))
                                               .Element(XName.Get("MndtId", ns)).Value,
                                   InstdAmt = lv2.Element(XName.Get("InstdAmt", ns)).Value
                               };
    
    
            return ElencoValori.Where(c => c.PmtId.EndsWith(ID)).FirstOrDefault().InstdAmt.ToString();
        }

    grazie di cuore

    lunedì 2 maggio 2016 14:17

Risposte

  • Ciao The_Rock979,

    purtroppo in assenza di file XML di prova, e di regole di interpretazione, darti un aiuto non è immediatissimo. Ho provato a convertire la tua funzione, di cui ti riporto codice, ma ovviamente essa va testata ed aggiustata in presenza di dati reali da trattare.

        Private Function ImportoXML(PercorsoXML As String, ID As String) As String
            Dim xdoc As XElement = XElement.Load(PercorsoXML, LoadOptions.PreserveWhitespace)
            Dim ns As String = xdoc.Name.Namespace.NamespaceName
    
            Dim elements = xdoc.Elements(XName.Get("PmtInf", ns)).Elements(XName.Get("DrctDbtTxInf", ns))
    
            Dim ElencoValori = From lv2 In elements Select PmtId = lv2.Element(XName.Get("DrctDbtTx", ns)).Element(XName.Get("MndtRltdInf", ns)).Element(XName.Get("MndtId", ns)).Value, InstdAmt = lv2.Element(XName.Get("InstdAmt", ns)).Value
    
            Return ElencoValori.Where(Function(c) c.PmtId.EndsWith(ID)).FirstOrDefault().InstdAmt.ToString()
        End Function
    

    Spero di esserti stato di aiuto, tienici aggiornati


    Emiliano Musso // Microsoft MVP .NET

    martedì 3 maggio 2016 12:28