2011-08-08 12 views
1

(XMLを物理的に保存せずに)XMLドキュメント自体をパラメータとしてXSLTに渡したいと思います。それを行う方法はありますか?私の関数は2つのXmldocumentを受け入れ、2つのXMLに基づいて新しいXMLを作成する必要があります。XMLDocumentをパラメータとしてXSLTに渡す

+0

'parameter'と言うときは、.NETメソッドのパラメータ、またはXSLTスタイルシートのパラメータを意味しますか? – Flynn1179

+0

XSLTへのパラメータ。これはXSLTargumentsを使って渡します。私はXSLTのXMLDocumentにアクセスしたいと思います。ここでは、複数のXMLを使用して1つのXMLを作成します。すべてのXMLが関数型XMLDocumentのパラメータとして提供されています – i0707

答えて

1

トランスフォームはXmlReaderを受け入れます。 DOM内の任意の要素(通常はドキュメント要素)に対してXmlNodeReader(これで十分です)を作成できます。

+0

いくつかのコード例を提供してください。 – i0707

+0

@ i0707好きな場合は後で追加できますが、MSDNの例に多かれ少なかれ次のように追加できます。http://msdn.microsoft .com/en-us/library/system.xml.xsl.xslcompiledtransform.aspxしかし、ソースオブジェクトに 'new XmlNodeReader(rootNode)'を渡す –

+0

私は以下のようにしましたが、動作しませんXmlDocument testXml = new XmlDocument ); testXml.Load(@ "D:\ search.xml"); XmlNode xmlNode = testXml.SelectSingleNode( "response"); XmlNodeReader xmlNodeReader =新しいXmlNodeReader(xmlNode); arguments.AddParam( "SearchXml"、 ""、xmlNodeReader); – i0707

0

xmlドキュメントノードを結合して全体を変換する方がよいでしょう。パラメータとしてXMLを渡す方法はありますが、どれもきれいではありませんし、それをやった後でも、xslトリッキーにアクセスしてもらうように強制されます。

関連する問題