1

我的 XML 中有一个项目,它返回如下标签:<MT N="firstName" V="Nataša"/>

然后我以这两种方式显示它:

<xsl:variable name="firstName" select="MT[@N = 'firstName']/@V"/>
<img src="{$headshotUrl}" alt="{$firstName} {$lastName}" />
<xsl:value-of select="$firstName" />

输出的最终结果是 Nataa,并且在 Chrome 中完全删除了带重音的 S。看起来我在不同的浏览器中得到了不同的结果,但它们都没有正确显示字符。

该页面设置为UTF-8,因此那里应该没有问题。

有任何想法吗?

更新

该转换正在 C# 中应用,如下所示:

string qs = "http://" + System.Configuration.ConfigurationManager.AppSettings["GoogleIP"] + "/search?" + query;

XmlDocument xmlDocument = new XmlDocument();
XPathDocument xpathDoc = new XPathDocument(qs);

if(!String.IsNullOrEmpty(XSLToLoad))
{
     XslCompiledTransform transform = new XslCompiledTransform();

     //Load the XSL stylsheet into the Transform object
     transform.Load(XSLToLoad);

     //Create a StringWriter object to hold the result
     StringWriter sw;
     sw = new StringWriter();
     //update parameter if needed
     XsltArgumentList xslArg = AddPageParams();

     //Perform the Transform
     transform.Transform(xpathDoc, xslArg, sw);

     //Assign result to asp label
     litResults.Text = sw.ToString();
}
4

0 回答 0