работа с собственной функцией XSLT для введенного XML - PullRequest
0 голосов
/ 07 февраля 2011

XML:

<root> 
  <event title="Title1" />
  <event title="Title2" />
</root> 

C #

public static string **retunxml**(){
    XmlNode xmln_list = [a xmlnode list which I get it from web service];
    return "<root>"+xmln_list.InnerXml+"</root>";
}

XSLT:

[определенное пространство имен myclass в xslt, который импортирует метод retunxml]

<xsl:for-each select="myclass:retunxml()/event" >
    <xsl:value-of select="@title"/>                   
</xsl:for-each>

Как правильно написать xslt, чтобы он правильно возвращал названия событий, определенных в xml?

1 Ответ

0 голосов
/ 07 февраля 2011

Предполагая, что у вас есть импорт пространства имен в верхней части вашего XSL для использования объекта расширения .NET XSLT (я не могу вспомнить точный синтаксис), я думаю, вам действительно нужно изменить код C #, чтобы он возвращал XPathNodeIterator объект.

Есть страница MSDN , которая объясняет параметры XSLT, но я думаю, что таблица типов все еще применяется к методам объекта расширения XSLT. Это может быть полезно. По сути, если вы хотите, чтобы XSL итерировал что-то из метода .NET, вам придется возвращать что-то более богатое, чем строка.

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