Obsługa braku pliku xml

2011-10-09 18:56
0

Używam kodu:

XmlDocument xdoc = new XmlDocument();
xdoc.Load("plik.xml");

Jak dodać do tego obsługę braku pliku? (chciałbym wyświetlić błąd i utworzyć plik).

Pozostało 580 znaków

2011-10-09 18:59
1

File.Exists("plik.xml")


You need to learn how to walk
before you can run

Pozostało 580 znaków

2011-10-09 19:09
0

Otwieram też pliki z sieci:

xdoc.Load("http://abc.pl/xml.php");

A visual studio przy File.Exists("http://abc.pl/xml.php") informuje mnie o błędzie. Jak wtedy obsłużyć błąd/zapobiec mu?

edytowany 1x, ostatnio: harmichalh, 2011-10-09 19:23

Pozostało 580 znaków

2011-10-09 19:23
1

Musisz wysłać żądanie o ten plik i dowiedzieć się co serwer odpowie (np. 404, nie istnieje taki zasób). Klasa WebRequest na przykład się tutaj nada. Jeśli zasób istnieje to od razu ten plik pobierzesz, więc 2 pieczenie przy jednym ogniu.


You need to learn how to walk
before you can run
edytowany 1x, ostatnio: johny_bravo, 2011-10-09 19:24
Hmm ja do tego celu używałem zawsze WebClient ;) - Sarrus 2011-10-10 09:30

Pozostało 580 znaków

2011-10-09 19:30
0

A jak użyć WebRequest? Znalazłem w msdn kod:

using System;
using System.IO;
using System.Net;
using System.Text;

namespace Examples.System.Net
{
    public class WebRequestPostExample
    {
        public static void Main ()
        {
            // Create a request using a URL that can receive a post. 
            WebRequest request = WebRequest.Create ("http://www.contoso.com/PostAccepter.aspx ");

Ale u mnie vs nie znajduje klasy i jest błąd przy deklaracji obiektu.

Pozostało 580 znaków

2011-10-09 19:34

A masz na pewno using System.Net? Ta klasa była nawet w .net 1.1 (choć nie tak funkcjonalna wtedy jak teraz o ile pamiętam).


You need to learn how to walk
before you can run

Pozostało 580 znaków

2011-10-09 19:42
0

Racja, nie miałem tego. A jak używać tej klasy (sprawdzić, czy można normalnie otworzyć plik xml), bo pierwszy raz z niej korzystam?

Pozostało 580 znaków

2011-10-09 20:06
0

Ta klasa wysyła żądanie http, więc zasada działania jest taka sama jak protokołu http. Przygotowujesz żądanie (typ GET/POST), podajesz adres zasobu, następnie wysyłasz żądanie (GetResponse) i czekasz na odpowiedz. Przykłady są na msdn. Szczególy odpowiedzi (kod odpowiedzi, np. 404 i jej treść) są właściwościami obiektu uzyskanego z GetResponse. Możesz chcieć zrzutować to na HttpResponse, żeby dostać szczegółowe informacje na temat odpowiedzi typu HTTP.


You need to learn how to walk
before you can run

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0