我有,我通过数据绑定的菜单: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