1

要素/属性を追加、削除、または更新できるように、Java API を使用して XML ファイルを解析してきました。使用しているオブジェクトが XML ファイルの先頭にTransformer追加されることを除いて、すべてが思いどおりに機能します。<?xml version="1.0" encoding="UTF-8"?>これを抑える方法はないかと考えていました。

PSまた、このトップ投票の回答は、それを抑制できる可能性があると述べていることに気付きました.

DOMSource source = new DOMSource(document);
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
FileOutputStream fout = new FileOutputStream(new File(outputFile));            
StreamResult result = new StreamResult(fout);
transformer.transform(source, result);
fout.close();

元のドキュメントには含まれていません<?xml version="1.0" encoding="UTF-8"?>

4

2 に答える 2

2

XSLT を変更できる場合は、追加するだけです

<xsl:output omit-xml-declaration="yes"/>

または、スタイルシートに既に要素がある場合は、属性値<xsl:output.../>を追加するだけです。omit-xml-declaration="yes"

XML を変更できない場合、特定のトランスフォーマーのシリアライザーの実装によっては、XML 宣言を無効にするパラメーターまたは機能を設定できる場合があります。技術的には、これは変換自体ではなく、出力シリアライザーのオプションであり、一部の実装では、パラメーターをシリアライザーに渡すことができます。これを実際にどのように達成するかは、実装によって異なります。

于 2011-10-11T20:48:47.847 に答える