Ο πελάτης HTTP κατεβάζει το XML μέσω του σωστού proxy. Η επόμενη γραμμή δημιουργεί έναν αναγνώστη XML από το αρχικό URL. Αυτή η γραμμή ξεκινά μια νέα ανάκτηση αντί να αναλύσει τα ληφθέντα δεδομένα.

Για έναν πελάτη που έχει ήδη ρυθμιστεί με τη σωστή διαδρομή, δώστε τη ροή απόκρισής του στον αναλυτή:

using var response = await client.GetAsync(documentUri);
response.EnsureSuccessStatusCode();
using var stream = await response.Content.ReadAsStreamAsync();

var settings = new XmlReaderSettings
{
    DtdProcessing = DtdProcessing.Prohibit,
    XmlResolver = null
};
using var reader = XmlReader.Create(stream, settings, documentUri.AbsoluteUri);
var document = XDocument.Load(reader);

Οι σχετικοί χώροι ονομάτων είναι System.Xml και System.Xml.Linq. Το παράδειγμα απενεργοποιεί σκόπιμα την επεξεργασία DTD και την εξωτερική επίλυση· δεν είναι τρόπος ανάκτησης αυθαίρετων εξωτερικών οντοτήτων μέσω του ίδιου πελάτη.

Το βασικό URI διατηρεί τα μεταδεδομένα θέσης του εγγράφου. Αν μια εγκεκριμένη ροή εργασίας ανάλυσης ή επικύρωσης ανακτά όντως εξωτερικά σχήματα ή άλλες εξαρτήσεις, αυτές οι ανακτήσεις χρειάζονται δικό τους ρητό επιλυτή και σχεδιασμό δρομολόγησης.

Μην διαγιγνώσκετε μια δεύτερη αποτυχία δικτύου αλλάζοντας τον κωδικό πρόσβασης στον πρώτο, επιτυχημένο πελάτη. Εξακριβώστε αν ο αναλυτής έλαβε ροή ή URL και μετά ακολουθήστε τυχόν πρόσθετους πόρους ξεχωριστά.

Σχετικά άρθρα