我的目标是通过一些 xsl 将原始 xml 文件转换为具有 utf-8 编码的目标。这是带有以下标头的原始 xml 文件:
<?xml version='1.0' encoding='ISO-8859-1'?>
我正在使用 xsl 将其转换为另一个 xml 文件。xsl 文件具有以下标头:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:xalan="http://xml.apache.org/xalan"
exclude-result-prefixes="xalan">
<xsl:output method="xml"
encoding="UTF-8"
indent="yes"
xalan:indent-amount="4"/>
这是 C# 代码:
XPathDocument myXPathDoc = new XPathDocument(FileName);
XslCompiledTransform myXslTrans = new XslCompiledTransform();
myXslTrans.Load("C:/test/test.xsl");
XmlTextWriter myWriter = new XmlTextWriter(destinationFile, Encoding.UTF8);
myWriter.Formatting = Formatting.Indented;
myWriter.Indentation = 4;
myXslTrans.Transform(myXPathDoc, null, myWriter);
myWriter.Close();
这个的输出是我在destinationfile 得到一个乱码的阿拉伯文本。如何让它阅读正确的阿拉伯语文本。
编辑,问题 2:
原始 XML 文件缺少结束根/子标记。如何编辑此 xml 以包含这些内容。
例如原始 xml 文件,缺少 aaaa 和 nnnn 的关闭。如何使用 C# 进行编辑以获取它们。
<aaaa>
<nnnn)
<rrrr>
</rrrr>