Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πως καλώ XML του Solution χωρίς να δώσω ολόκληρο το path?

Îåêßíçóå áðü ôï ìÝëïò gspiros. Τελευταία δημοσίευση από το μέλος gspiros στις 02-04-2007, 20:32. Υπάρχουν 8 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  02-04-2007, 17:42 27691

    Πως καλώ XML του Solution χωρίς να δώσω ολόκληρο το path?

    Θέλω να διάβασω κάποια δεδομένα από ένα xml και χρησιμοποιώ το εξής:

    XmlTextReader r = new XmlTextReader("~/xmlfile.xml");

    Το πρόβλημα είναι ότι πετάει exception με κάποιο "άκυρο" path. Γιατί?
    Πως θα καλέσω το xml το οποίο βρήσκεται στο solution folder, χωρίς να δώσω ολόκληρο το path?
  •  02-04-2007, 17:51 27693 σε απάντηση της 27691

    Απ: Πως καλώ XML του Solution χωρίς να δώσω ολόκληρο το path?

    (Υποθέτω ότι αναφέρεσαι σε ASP.NET)
    Πρέπει να δώσεις file system path, και βέβαια πλήρες, οπότε θέλεις για παράμετρο στον ctor το
    MapPath("~/xmlfile.xml")
    Νατάσα Μανουσοπούλου
  •  02-04-2007, 17:54 27694 σε απάντηση της 27691

    Απ: Πως καλώ XML του Solution χωρίς να δώσω ολόκληρο το path?

    Αν χρησιμοποιείς ASP .NET (λόφω του ~), τότε μπορείς να παίξεις με την Server.MapPath
    Αν παίζεις με κάποιο windows application τότε μπορείς να χρησιμοποιήσεις το Application.StartupPath και να βάλεις το xml σου στο bin/debug ή στο bin/release folder του solution...

    Dimitris-Ilias Gkanatsios
    Developer Evangelist, Microsoft Hellas

    My Blog
    StudentGuru
    Twitter
    Facebook
  •  02-04-2007, 18:09 27695 σε απάντηση της 27694

    Απ: Πως καλώ XML του Solution χωρίς να δώσω ολόκληρο το path?

    Συγνώμη, αλλά δεν κατάλαβα τίποτα...
    Έχω απελπιστεί πια με αυτό, μου έχει φάει όλη την μέρα άδικα...
    Ούτε στο internet δεν έχω βρει τίποτα...
    Αναφέρομαι σε ASP.NET.

    Σε ποιο namespace υπάρχει το Server.MapPath, διότι δεν μπορώ να το βρώ (χρησιμοποιώ το System.IO).
    Δώστε μου ένα παράδειγμα σε κώδικα, σας παρακαλώ!!!!!!!!!!! Δεν αντέχω άλλο!
    Έχω γράψει το εξής: (μην δώσετε βάση στον κώδικα, είναι κάτι πρόχειρο για να δω πως διάβαζονται τα xml)

    public bool ReturnCounter()
        {
           FileStream fs = new FileStream("~/xmlfile.xml", FileMode.Open);
            XmlTextReader r = new XmlTextReader(fs);

            while (r.Read())
            {
                if (r.Name == "ID")
                    return true;
           }
           return false;
    }

    Έβαλα και ένα FileStream, μπας και βοηθήσει, αλλά τίποτα.
    Πως δίνω relative path?
    Βοήθεια!
  •  02-04-2007, 18:46 27703 σε απάντηση της 27695

    Απ: Πως καλώ XML του Solution χωρίς να δώσω ολόκληρο το path?

    new FileStream(Server.MapPath + "/xmlfile.xml", FileMode.Open)  Απ ότι θυμάμαι...
    View Παναγιώτης Χαραλάμπους's profile on LinkedIn
    Coding at Mediterranean Acoustics
  •  02-04-2007, 18:50 27704 σε απάντηση της 27703

    Απ: Πως καλώ XML του Solution χωρίς να δώσω ολόκληρο το path?

    Ακυρο!!

    new FileStream(Server.MapPath("/xmlFile.xml"), FileMode.Open)


    View Παναγιώτης Χαραλάμπους's profile on LinkedIn
    Coding at Mediterranean Acoustics
  •  02-04-2007, 18:55 27706 σε απάντηση της 27703

    Απ: Πως καλώ XML του Solution χωρίς να δώσω ολόκληρο το path?

    Το έχω δοκιμάσει έτσι, αλλά δεν είναι σωστο.
    The name 'Server' does not exist in the current context.

    Σε ποιό namespace βρήσκεται το Server.MapPath?????

    Ερώτηση:
    Είστε σίγουροι ότι το Server.MapPath δίνει το path του solution, όπου εκεί μέσα έχω το xmlfile.xml???
  •  02-04-2007, 19:12 27707 σε απάντηση της 27706

    Απ: Πως καλώ XML του Solution χωρίς να δώσω ολόκληρο το path?

    H MapPath δεν δίνει το path του solution, αλλά μετατρέπει ένα virtual path σε absolute path στον web server. Αν κοιτάξεις στο Help θα βρεις ό,τι χρειάζεσαι για την MapPath. Στα αντιγράφω και εδώ.
    Καταρχήν η MapPath είναι μέθοδος και του Response και του HttpServerUtility. Καθώς και τα δύο ανήκουν στο System.Web namespace, μπορείς να τα καλέσεις παντού σε μία εφαρμογή ASP.NET. Όταν βρίσκεσαι σε μία ASP.NET σελίδα μπορείς να καλέσεις κατευθείαν την Response.MapPath ή την Server.MapPath, καθώς η μεταβλητή Server είναι διαθέσιμη σε κάθε σελίδα. Στο codebehind μίας ASP.NET σελίδας, χρησιμοποιείς την HttpContext.Current.Server.MapPath.

    Θα βρεις παραδείγματα χρήσης τόσο στο documentation του Response.MapPath και του HttpServerUtility.MapPath ( το Server.MapPath).

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  02-04-2007, 20:32 27712 σε απάντηση της 27707

    Απ: Πως καλώ XML του Solution χωρίς να δώσω ολόκληρο το path?

    Σας αυχαριστώ πολύ για τις απαντησεις σας!
    Επιτέλους το έλυσα...
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems