2016-10-04 8 views
0

xmlファイルのルート要素を削除する可能性はありますか? Javaでこれを行うにはどうしたらいいですか? 私のxmlファイルは次のようになります。xml文書からルート要素を削除するには?

<root> 
<body> 
.... 
</body> 
</root> 

私はすでにサックスでそれを解析しようとしたし、[OK]を、私はこれを実装するが、私はSAXはXMLファイルにコードを書くことができないことが分かった(私はそれがある読みますとても大変)。 ルートタグからコンテンツを取得して本文を親として新しい文書に書き込む方法はありますか?

+0

非常に低レベルです。代わりにDOMを使用する必要があります。まず[DocumentBuilderFactory](http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/DocumentBuilderFactory.html)を読んで、DocumentBuilderとDocumentのリンクをたどります。 – VGR

+0

[DOMを使ってXML文書のルートノードを削除する方法](http://stackoverflow.com/questions/4198967/how-to-remove-the-root-node-of-an-xml-document)の可能な複製-with-dom) –

答えて

-1

場合だけあなたは単なる文字列としてそれを解析し、空の文字列でタグを置き換えるなどSAXでXMLファイルを解析する必要はありません<root></root>タグを除去する必要があります。

非常に非常に基本的な例は次のようになります。あなたの問題を解決するために

String str = "<root><body></body></root>"; 

    String str2 = str.replace("<root>", "").replace("</root>", ""); 
    System.out.println(str2); 
+2

正規表現で1つの文章でXMLまたはHTMLを見ると、私はいつも[this](http://stackoverflow.com/a/1732454/5091346)の答えを参照しています。 –

+2

@AndriiAbramov技術的には、このコードは正規表現を使用していませんが、それでもやはりXMLとHTMLにとって非常に悪い考えであるブラインド文字列置換を使用しています。 – VGR

+1

私の答えが間違っていることを指摘してくれてありがとうございます。なぜなら、正規表現が使われていないので、なぜ、 ' 'と' 'タグをストライピングするのが間違っているのですか?解析する。私の答えでは、それはおそらくOPが望む仕事をしている非常に基本的なコードのサンプルであることを強調しています。そして、これ以上downvoteする必要はありません、正解を投稿してください。 – pleft

0

一つの方法は、GitHubのに利用できるScilca XML Progessionパッケージを使用して文書化する解析することです。子要素の構造を取得して保存できます。

関連する問題