当我尝试传递一个包含 html 标记的值时出现错误“名称不能以 '<' 字符开头”,例如<table>, <div> ...
使用 XsltArgumentList 将项目显示到 xslt 文件中以将这些值传递到 xslt 文件并使用 XslCompiledTransform 传递 xslt 的所有内容具有传递值的文件。最后使用LoadXml加载但会出现错误,我尝试使用“<替换<和>替换>”但仍然出现错误。谁能给我一些建议来解决它?
我的代码:
var objXslt = new XslCompiledTransform();
objXslt.Load(EmailTemplate);
var xmlDoc = new XmlDocument();
xmlDoc.AppendChild(xmlDoc.CreateElement("EmailMessage"));
var xpathNav = xmlDoc.CreateNavigator();
var xslArg = new XsltArgumentList();
if (objDictionary != null)
{
foreach (DictionaryEntry entry in objDictionary)
{
xslArg.AddParam(entry.Key.ToString(), "", entry.Value);
}
}
var emailBuilder = new StringBuilder();
var xmlWriter = new XmlTextWriter(new StringWriter(emailBuilder)) {Formatting = Formatting.Indented};
objXslt.Transform(xpathNav, xslArg, xmlWriter);
var emailDoc = new XmlDocument();
emailDoc.LoadXml(emailBuilder.ToString());