我有,我通過數據綁定的菜單:ASP.Net菜單綁定編碼的問題
XmlDataSource xmlData = new XmlDataSource();
xmlData.DataFile = String.Format(@"{0}{1}\Navigation.xml", getXmlPath(), getLanguage());
xmlData.XPath = @"/Items/Item";
TopNavigation.DataSource = xmlData;
TopNavigation.DataBind();
問題是,當我的XML包含特殊字符,因爲我用了很多的法語單詞。
當我試圖使用流,而不是使用的編碼,以獲得特殊字符,用下面的代碼替代:
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();
我現在遇到的問題是,我的數據不會刷新時我改變了流被讀取的路徑。
當我跳過它的代碼,但不在我的頁面上。
所以,事情要麼是,我怎樣才能讓數據更新?或者(實際上是首選)我如何在第一段代碼中獲得編碼權限?
幫助非常貶低!
編輯:
我試過CDATA解決方案,但是我與屬性工作,所以它不可能在一個屬性來指定一個元素,我的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>
任何其他的想法?
您是否嘗試用<![CDATA [....]]>來包裝法語單詞? – 2010-04-02 14:13:10