2011-02-07 3 views
0

XML:inputed XMLにXSLT独自機能を操作

<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:

[XSLT名前空間MyClassの定義、メソッドretunxmlをインポート]

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

xmlで定義されたイベントのタイトルが正しく返されるように、xsltを正しく書き込むにはどうすればいいですか?

+0

あなたのC# "関数"は 'XmlNode'を返していても' string'の戻り値の型を持ちます。 – Oded

+0

ありがとう、エラー。間違ったそれを訂正した。 –

答えて

0

.NET XSLT拡張オブジェクトを使用するために、XSLの上部に名前空間のインポートがあると仮定します(実際の構文は覚えていません)。実際にはC#コードを変更する必要があると思いますXPathNodeIteratorオブジェクトです。

XSLTパラメータについて説明しているMSDN pageがありますが、タイプテーブルはXSLT拡張オブジェクトメソッドにも適用されます。これは使用の可能性があります。基本的に、XSLで.NETメソッドから何かを繰り返したい場合は、文字列よりも豊かなものを返す必要があります。

関連する問題