2011-09-22 45 views
6

JavaでXMLを作成したいと思います。Javaのxml Documentオブジェクトからencoding = "UTF-8" standalone = "no"を削除するには

 DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance(); 
    DocumentBuilder docBuilder; 
    docBuilder = dbfac.newDocumentBuilder(); 
    Document doc = docBuilder.newDocument(); 

が、Javaは自動的にこの

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 

のような宣言を作成するにはどうすればいいので、それが

<?xml version="1.0"?> 

おかげだろうencoding="UTF-8" standalone="no"を削除することができます!

+1

なぜあなたは気にしないで検証、あなたの問題を解決するのでしょうか? –

+0

可能な複製 http://stackoverflow.com/questions/2133395/remove-xml-declaration-from-the-generated-xml-document-using-java –

+0

@JoachimSauer、私はエンコーディングをオーバーライドしたくないプログラムは私が知らないやり方でこのXMLを使います。どのようなエンコーディングを設定できるのかわからない – VextoR

答えて

-2

世代から属性を排除する法的な方法はないと思います。 しかし、それが生成されたら、XSLTを使用してこれを削除できます。

これは良い方法だと思います。

13

なぜエンコーディングを削除する必要がありますか?しかし...

doc.setXmlStandalone(true); 

standalone="no"

11
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); 

が消去されますこれは、JDK 6

+0

質問に否定的な印を理解していない。私はBPELファイルを作成するために同じ問題を抱えていましたが、これが必要なその他の理由があるかもしれません。あなたの答えをありがとう。私は年を取っただろうか? – eskalera

関連する問題