android windows-1251,Unicode到Windows-1251使用XML(HTML)转换 - 转换

作者寻求解决在使用XSLTransformation时,如何将XML文件中的Unicode字符正确转义为HTMLUnicode序列,以便生成Windows-1251编码的HTML文件,特别是遇到'ғ'这类字符时。讨论了现有代码片段和XSL输出配置,目标是找到字符编码兼容性和转义方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我有XML文件,需要通过应用XSL Transformation来生成带有Windows-1251编码的HTML文件.问题是XSL -file的Unicode字符不会像"ғ"那样转换为HTML Unicode转义序列.在XSL Transformation期间,只有"?" 标志是写而不是他们.如何让XslCompiledTransform.Transform方法执行此转换?或者是有任何写HTML字符串到Windows-1251的HTML文件,将HTML Unicode转义序列,这样我就可以执行XSL转换为字符串,然后用这种方法来写与Windows-1251编码,并与HTML文件的方法- 所有unicode字符的转义(比如Convert(" ғ ")将返回" ғ ")?

XmlReader xmlReader = XmlReader.Create(new StringReader("The Wizard of Wishaw"));

XslCompiledTransform xslTrans = new XslCompiledTransform();

xslTrans.Load("sheet.xsl");

using (XmlTextWriter xmlWriter = new XmlTextWriter("result.html", Encoding.GetEncoding("Windows-1251")))

{

xslTrans.Transform(xmlReader, xmlWriter); // it writes Windows-1251 HTML-file but does not escape unicode characters, just writes "?" signs

}

谢谢大家的帮助!

UPDATE

我在XSL文件中的输出配置标记:

我现在甚至都不希望XSL满足我的需求.但我想知道我没有任何方法来检查字符是否可以被指定的编码接受.就像是

Char.IsEncodable('?', Encoding.GetEncoding('Windows-1251'))

我目前的解决方案是将所有大于127(c> 127)的字符转换为dddd; 转义字符串,但我的主管对解决方案不满意,因为生成的HTML文件的来源不可读.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值