次の方法で共有


XslTransform への XmlDocument の入力

XmlDocument には、XML ドキュメントの編集機能があります。XML を XslTransform に送信する前に編集または変更する必要がある場合は、その XML を XmlDocument に読み込み、編集した後で、XslTransform に送信します。

XmlDocumentIXPathNavigable インターフェイスを実装しているため、ドキュメントを編集した後で XslTransform に渡すことができます。

XmlDocumentXslTransform に提供し、その出力を XmlReader に送信するコード例を次に示します。

Dim doc as XmlDocument = new XmlDocument()
doc.Load("books.xml")
Dim transform As XslTransform = new XslTransform()
transform.Load("book.xsl")
Dim rdr As XmlReader = trans.Transform(doc, Nothing, Nothing)
while (rdr.Read())
end while
[C#]
XmlDocument doc = new XmlDocument();
doc.Load("books.xml");
XslTransform transform = new XslTransform();
transform.Load("book.xsl");
XmlReader rdr = trans.Transform(doc, null, null);
while (rdr.Read()) {}

XmlDocument には編集機能があるのに対し、XPathDocument は内部ストレージを使用して XPath クエリ用に最適化されているため、XmlDocument クラスを XslTransform への入力として使用した場合は、XPathDocument を XSLT 変換に使用した場合よりもパフォーマンスの点で劣ります。

参照

XmlDocument のメンバ | XmlDocument クラス | XslTransform クラスを使用した XSLT 変換 | XslTransform クラスによる XSLT プロセッサの実装 | 変換における XPathNavigator | 変換における XPathNodeIterator | XslTransform への XPathDocument の入力 | XslTransform への XmlDataDocument の入力