- 締切済み
終了タグが認識されない?
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()); よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- insider007
- ベストアンサー率26% (61/231)
文字コードのせいでは? たまたま「具」が<とかになって</td>を崩してしまうのでしょう。 だから半角いれると認識するような気がします。
お礼
具以外にも結構いろいろな状況でなるんです。。 しかも<table><tr><td>の後で。 しかしそれ以外思い当たらないですし。 一応文字コードとかの誤認識ないように考えてXML書くことにします。 ありがとうございました。