0

<table>, <div> ...XsltArgumentList を使用してこれらの値を xslt ファイルに渡し、XslCompiledTransform を使用して xslt のすべてのコンテンツを渡すなど、html タグを含む値を 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());
4

1 に答える 1

0

修正する解決策を見つけました。stringbuilderをhtmlファイルに書き込んで確認します。最後に、問題は、文字列値にimg要素のcloseタグがないことにあり、これをパラメーターとしてxsltファイルに渡すために使用します。

于 2013-03-07T14:09:58.510 に答える