Frage

Ich habe ein Menü, in dem ich Daten binden durch:

XmlDataSource xmlData = new XmlDataSource();
        xmlData.DataFile = String.Format(@"{0}{1}\Navigation.xml", getXmlPath(), getLanguage());
        xmlData.XPath = @"/Items/Item";
        TopNavigation.DataSource = xmlData;
        TopNavigation.DataBind();

Das Problem ist, wenn mein xml Sonderzeichen enthält, da ich viel französisch Worte.

Als Alternative habe ich versucht, einen Strom statt und verwendet mit Codierung der Sonderzeichen zu bekommen, mit dem folgenden Code:

StreamReader strm = new StreamReader(String.Format(@"{0}{1}\Navigation.xml", getXmlPath(), getLanguage()), Encoding.GetEncoding(1254));
            XmlDocument xDoc = new XmlDocument();
            xDoc.Load(strm);

            XmlDataSource xmlData = new XmlDataSource();
            xmlData.ID = "TopNav";
            xmlData.Data = xDoc.InnerXml;
            xmlData.XPath = @"/Items/Item";
            TopNavigation.Items.Clear();
            TopNavigation.DataSource = xmlData;
            TopNavigation.DataBind();

Das Problem, das ich jetzt habe, ist, dass meine Daten nicht aktualisiert, wenn ich den Pfad ändern, wo der Strom gelesen wird.

Wenn ich den Code überspringen durch sie tut, aber nicht auf meiner Seite.

Also das Ding entweder, wie bekomme ich die Daten te aktualisiert? Oder (was eigentlich bevorzugt wird), wie bekomme ich die Codierung direkt im ersten Stück Code?

Hilfe ist sehr apreciated!

EDIT:

ich die CDATA Lösung versucht, aber ich arbeite mit Attributen, so dass es nicht möglich ist, ein Element in einem Attribute angeben, meinen xml:

<?xml version="1.0" encoding="utf-8" ?>
<Items Text="">
  <Item Text="Actualités>"/>
  <Item Text="Matériau">
    <Item Text="Arsenal"/>
    <Item Text="Vêtements"/>
  </Item>
  <Item Text="Links"/>
</Items>

Jede andere Ideen?

War es hilfreich?

Lösung 2

löste ich mein Problem.

Ich habe die Codierung meiner XML-Datei in Notepad ++ auf UTF8 anstelle von ANSI (Standard), und es löste das Problem.

Vielen Dank für die Antworten sowieso

Andere Tipps

Versuchen Sie Französisch Wörter zu wickeln mit Tag

In diesem Fall XML wird Ihre Sonderzeichen nicht analysiert

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top