Lire le XML de Flux

Je travaille avec ASP.NET et je suis importation d'un fichier XML à partir d'un formulaire. Droit maintenant, je les convertir en un Stream:

Stream inputStream = XmlFileUploadControl.PostedFile.InputStream;

parce que j'ai peut-être besoin de cette version plus tard.

Je voudrais tout d'abord vérifiez assurez-vous que le fichier XML est le format correct, et, si c'est le cas, l'affichage des informations:

if (CorrectFileFormat(inputStream))
{
    DisplayLicenseInfo(inputStream);
}

else
{
    StatusLabel.Text = "Selected file is not a LicensingDiag XML file";
}

La CorrectFileFormat() méthode:

protected Boolean CorrectFileFormat(Stream inputStream)
{

    XmlReader reader = XmlReader.Create(inputStream);

    if (reader.MoveToContent() == XmlNodeType.Element && reader.Name == "DiagReport")
    {
        return true;
    }
}

La DisplayLicenseInfo() méthode:

protected void DisplayLicenseInfo(Stream inputStream)
{

    XmlReader reader = XmlReader.Create(inputStream);

    if (reader.MoveToContent() == XmlNodeType.Element && reader.Name == "LicensingStatus")
    {
        StatusLabel.Text += ("Licensing Status: " + reader.ReadString() + "<br><br>");
    }

}

Cependant, je rencontre un XmlException qui dit que "les Données au niveau de la racine n'est pas valide. Ligne 1, position 1". Est-ce parce que j'ai déjà lu à travers le flux d'entrée une fois, et vous devez le réinitialiser? Si oui, comment dois-je faire?

Quelle est la valeur de la chaîne? C'est probablement ce fichus FEFF...

OriginalL'auteur Adam_G | 2013-07-05