Я создаю XML-файл, который я конвертирую в HTML, используя преобразование XSL в C++. Метод вывода преобразования - html. Я пытаюсь вывести символы Unicode в шестнадцатеричном формате. Например, я хотел бы вывести «& # x00cd» в файл XML. Если я используюКак избежать экранирования «&» при выводе XML для XLST в HTML
XmlDocument ^doc = gcnew XmlDocument();
doc->Load("XmlFile.xml");
XmlNode^ currNode = doc->DocumentElement->FirstChild;
currNode = currNode->NextSibling;
currNode->InnerText = L"Í";
то вывод XML с использованием настроек по умолчанию
XmlWriter^ writer = XmlWriter::Create("XmlFileOut.xml", settings);
doc->Save(writer);
выглядит
<node>&#x00CD;</node>
тогда, когда я делаю XML в HTML преобразования, вместо charcter я хочу в шрифт по выбору, я получаю
<p>Your symbol is (<span style="font-family:MyFont">&#x00CD;</span>)</p>
который, конечно же, отображается в браузере, как
You symbol is Í
Если я использую
currNode->InnerXML = L"Í";
то вывод XML содержит фактический характер
<node>Í</node>
и результирующий HTML работает нормально также
<p>Your symbol is (<span style="font-family:MyFont">Í</span>)</p>
, который создает правильный символ символа в браузере.
НО, я хочу вывод XML и вывод HTML использовать значение Юникода шестигранную
Í
вместо фактического символа 'Н'
<node>Í</node>
для XML и
<p>Your symbol is (<span style="font-family:MyFont">Í</span>)</p>
для HTML, так что я могу более легко использовать преобразование XSL для создания RTF-файла из полученного HTML. (Мне нужны как HTML, так и RTF.)
Я знаю, что это должно быть грязно, но я разобрал свою фотографию.
Если вы хотите «использовать преобразование XSL для создания RTF», то я не понимаю, зачем вам нужны ссылки на символы. XSLT, поскольку XML имеет полную поддержку Unicode, поэтому у него не должно быть проблем с вводом, например '
. Ваш символ ( Í)
', пока анализатор XML, используемый для его обработки, знает используемая кодировка. –Да, я вижу это сейчас. –