4

翻訳されたXMLをディスク上の実際のファイルにどのように保存しますか?私はXML/XSLTを初めて使用し、それを理解しようとしています。自分に合った例が見つからないようです。たとえば、ファイルをc:\ temp\text.xlsに保存したいだけです。保存するにはどうすればよいですか?java、.net、またはその他のプログラミング言語/ APIを使用する必要がありますか?XSLにファイルを保存してもらいたいと思っていました。

4

4 に答える 4

4

XSL だけでは何もできません。これは、XML ファイルを別のものに変換するための単なる定義です。XSL Transform をプログラムで実行するか、XML Spy などのツールを使用して何かを行う必要があります。

アップデート

以下は、私が数年前に VBScript で書いた簡単な例です。

Dim xml, xsl, htm, fso, flOut

Set xml = CreateObject("MSXML2.DOMDocument")
Set xsl = CreateObject("Msxml2.DOMDocument")
Set fso = CreateObject("Scripting.FileSystemObject")

xml.load WScript.Arguments(0)
xsl.load WScript.Arguments(1)
htm = xml.transformNode(xsl)

Set flOut = fso.CreateTextFile(WScript.Arguments(2))
flOut.Write htm
flOut.close

私はこれを xmlTrfm.vbs と呼びました。次のように使用します。

xmlTrfm.vbs [sourceFileName].xml [transformFileName].xsl [outputFileName].[ext]

出力ファイル名のファイル拡張子は、XSL 変換が生成する形式 (通常は xml、html、または txt) によって明らかに異なりますが、ほとんど何でもかまいません。

于 2012-05-17T00:12:34.377 に答える
2

ほとんどすべての XSLT プロセッサでは、コマンド ラインから変換を開始できます。引数の 1 つは、変換の結果を保存するファイルです。

:

  1. サクソン 9.x :java net.sf.saxon.Transform -s:source -xsl:stylesheet -o:output

  2. MSXML6 :msxsl.exe %xml% %xsl% -o %out% -u '6.0' -t %param[ name="value"]%

  3. XQSharp :xslt.exe -s %xml% -o %out% -r 1 -t %xsl% %param[ name="value"]%

  4. .NET 2.0+ (XslCompiledTransform): nxslt2.exe %xml% %xsl% -t -o %out%%param[ name="value"]%

  5. AltovaXML (XML-SPY): AltovaXML.exe -xslt2 %xsl% -in %xml% -out %out%%param[ name="value"]%

上記の 2. ~ 5.%xml%で、 は XML ドキュメントを含むファイル%xsl%へのパス、 はプライマリ XSLT スタイルシートを含むファイルへのパス、`%out% は変換の結果を保存するファイルへのパスです。

于 2012-05-17T02:22:14.270 に答える
1

はい、XSLT から保存することはできません。どの言語を使用できますか?

于 2012-05-17T00:11:46.623 に答える
0

おそらく (私は推測していますが) 問題は、ブラウザーで XSLT 変換を実行していることですか? その場合、ブラウザーはセキュリティ上の理由から、ファイルストアへの通常の書き込みを許可しないため、問題が発生します。

そうでない場合は、XSLT 変換をどのように実行しているかを説明してください。

于 2012-05-17T08:01:32.293 に答える