使用XslCompiledTransform时出现奇数符号

时间:2014-04-15 08:50:56

标签: c# xslt encoding

我有一个用UTF-8编码保存的XML文件,我希望使用XslCompiledTransform通过xslt文件进行解析。然而问题是它在我的空间前面放了一个奇怪的符号(见下图),导致线下方的问题(用空格拆分字符串等)。

奇怪的是原始xml文件中的空格工作正常,但xslt文件中的空格( )却没有。

Hex Editor

这是我到目前为止的代码:

public void TransformXmlFromXslt(object obj)
{
    XDocument doc = XDocument.Load(@"C:\Temp\Input.xml");
    XslCompiledTransform _datawashXslt = new XslCompiledTransform();

    XsltArgumentList _xsltArgumentList = new XsltArgumentList();
    _xsltArgumentList.AddExtensionObject("urn:script-items", obj);

    _datawashXslt.Load(@"C:\Temp\Template.xslt");

    using (var reader = doc.CreateReader())
    {
        using (var writer = XmlWriter.Create(@"C:\Temp\Output.xml"))
        {
            _datawashXslt.Transform(reader, _xsltArgumentList, writer);
        }
    }
}

这是我使用过的xml + xslt文件:

Xslt:http://peecee.dk/upload/download/435860

Xml:http://peecee.dk/upload/download/435861

编辑:阅读this article后,我认为它正在以iso-8859-1的形式阅读该文件,但为什么呢?我不知道

1 个答案:

答案 0 :(得分:0)

尝试使用concat功能

<xsl:value-of select="concat(HomeAabHusDato, ' ', HomeAabHusSlutTid)"/>