不正な形式のXMLファイルが生成されています(不正なXMLファイルにつながっています)。以下のようなJavaファイル内のシェルコマンドの助けを借りて、閉じタグを追加余分を削除することによって、この問題:不正な形式のXMLファイルで余分に追加された「閉じられたタグ」を削除する方法
int NoofTags=Integer.parseInt(CommandExecution("grep -c \"</person>\" " + file + "").toString().trim());
if(NoofTags > 1)
{
CommandExecution("sed -i \'/^<\\/person>$/d\' " + file + "");//Remove all </person> tags in the XML file
CommandExecution("echo \'</person>\' "+ " >> " + file + "");//Adding </person> tag at end of the XMLfile
}
ここで「ファイルは」XMLファイルである「人は」ここでは、ルートelement.Issueされています。 </person>
複数のタグがXMLファイルの途中でランダムに追加されてしまいます(これは不正な形式のXMLにつながります)。だから私はsed
コマンドを使って一度にすべての閉じたタグを削除し、ファイルの最後に閉じたタグを1つ追加してルート要素の "人"を閉じました。ここで問題は解決しました。
しかし、私はJavaのXML解析技術を使ってこれを解決できませんでした。
Java XML解析技術(例:DOMパーサ)の助けを借りて、この問題を解決するのに役立ちますか?
おそらく、不正な形式のXMLファイルを作成するプロセスを修正することで解決する方がよいでしょう。 – GriffeyDog
あなたが書いたJavaコードを共有できますか? – procrastinator
java xmlパーサは、エラーがあなたのXML文書のどこにあるのかを教えてくれます...おそらくその情報を使ってxmlを修正することができます。 –