• 締切済み

終了タグが認識されない?

XercesにてXMLをパースしようとすると、 org.xml.sax.SAXParseException: The element type "td" must be terminated by the matching end-tag "</td>". のような例外が発生してしまいます。 解析ソースの該当する部分は(1) <table><tr><td>調理器具</td></tr></table> です。 しかし(2) <table><tr><td>調理器具 </td></tr></table> というように、終了タグの前に半角スペースを入れるだけで、例外は発生しなくなります。 できれば(1)のようなXML文書としたいのですが、どうすればいいでしょうか。 パーサのセッティングが原因? 以下がパース時のパーサの設定です。 parser.setFeature( "http://xml.org/sax/features/validation", true); parser.setFeature( "http://xml.org/sax/features/namespaces", false); parser.setFeature( "http://apache.org/xml/features/validation/schema", true); parser.setIncludeIgnorableWhitespace(true); parser.setErrorHandler(new DefaultHandler()); よろしくお願いします。

みんなの回答

回答No.1

文字コードのせいでは? たまたま「具」が<とかになって</td>を崩してしまうのでしょう。 だから半角いれると認識するような気がします。

ggaogg
質問者

お礼

具以外にも結構いろいろな状況でなるんです。。 しかも<table><tr><td>の後で。 しかしそれ以外思い当たらないですし。 一応文字コードとかの誤認識ないように考えてXML書くことにします。 ありがとうございました。