HttpContext XML-значения в XSLT - PullRequest
1 голос
/ 07 июня 2010

Пожалуйста, помогите мне.

В C # я устанавливаю значение контекста как

HttpContext.Current.Items["xmlcontentholder"] = xDoc.DocumentElement.FirstChild.OuterXml;

и

обработав XsltArgumentList, я отправляю его в файл XSLT:

XsltArgumentList XsltArgs = new XsltArgumentList();
XsltArgs.AddParam("xmlcontentholder", "", "xmlcontent");

и я его преобразую

xsltCompiledTrans.Transform(xPathNav, XsltArgs, stringWriter);

В файле XSLT я дал <xsl:value-of select="$xmlcontentholder" /><br/>12<xsl:value-of select="msxsl:node-set($xmlcontentholder)/ROW[1]/value" />34

Мой вывод

<ROW><value>1</value><value>2</value></ROW>
1234

Пожалуйста, объясните мне эту проблему ..

1 Ответ

1 голос
/ 08 июня 2010

Проблема : свойство OuterXml имеет тип string, но в преобразовании XSLT вы рассматриваете его как узел.

Решение : перейти к преобразованию узла - параметр C # должен быть либо XPathNavigator (для одного узла), либо XPathNodeIterator для набора узлов.

Поэтому используйте :

xDoc.DocumentElement.FirstChild.CreateNavigator()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...