私はHTMLファイルに似たファイルを解析したいと思います。正確にはHTMLファイルではありません。ユーザー定義のタグをいくつか含むことができます。タグが事前に相互にネストされている方法を事前に知っていません。タグには属性も含まれています。 私はSAXパーサを使っています。 Javaはinbuilt SAXを持っていますか?各タグに遭遇したときに関数を呼び出すことはできますか?SAXのアプローチを使用してJavaでXML文書を解析する方法
1
A
答えて
0
SAXはもともとJavaのみであったため、JavaにはSAXパーサーが組み込まれています(http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/parsers/SAXParser.html)。これは、文書が整形式である場合にのみ機能します。
2
代わりにStAXを使用する必要があります。これはSAXよりも高速で使いやすいものです。 Java SE 6の一部です。
4
次のパッケージを使用してください。 java.io、javax.xml.parsers、org.xml.sax。
SAXParserFactory spf = SAXParserFactory.newInstance();
XMLReader reader = null;
SAXParser parser = spf.newSAXParser();
reader = parser.getXMLReader();
reader.setContentHandler(new MyContentHandler());
//XMLReader to parse the entire file.
InputSource is = new InputSource(filename);
reader.parse(is);
//は、私はそれが使いやすいことに反対のContentHandler
class MyContentHandler implements ContentHandler {
}
関連する問題
- 1. SAXパーサーを使用してXMLを解析する方法
- 2. クラス名でXML文書を解析する方法Javaを使用して
- 3. SAXを使用したJavaでのカスタムXML応答の解析
- 4. BlackBerryでSAXパーサーを使用してXMLを解析する
- 5. SAXを使用して再帰的XMLを解析する
- 6. Java SAX構文解析
- 7. JavaとSAXを使用して、時折XMLタグでプレーンテキストファイルを解析する方法は?
- 8. SAXで解析中にXMLノードを取得する方法
- 9. SAX Javaで日付を解析する
- 10. SAXとJavaで行を解析する
- 11. XML文書ビルダーファクトリを使用したPythonでの構文解析
- 12. Perl XML :: SAXを使ってXML文書を変更する
- 13. XPATHを使用したPostgreSQLでのXML文書の解析?
- 14. Xpathを使用してXmlを名前空間で解析する方法java
- 15. xpathを使ってxml文書を解析してvbaを使用する
- 16. '&'文字のSAX解析
- 17. java saxパーサーで&のエスケープ方法を完全に解析する方法
- 18. DOM、xslを使用してJavaでXMLを解析する
- 19. xmlをjavaでDomを使用して解析する
- 20. SAXパーサーを使用すると、どのようにXMLファイルをJavaで解析するのですか?
- 21. javaパーサーを使用してフィールドを含むXMLを解析する方法
- 22. libxml解析を使用してxmlデータを解析する方法
- 23. SAXのJavaでの解析の問題
- 24. Javaを使用したXML解析
- 25. PHP SimpleXmlを使用したXML文書の解析のトラブルシューティング
- 26. xml javascriptを使用してchildrenNodesを解析する方法
- 27. JAXBを使用してxmlを解析する方法は?
- 28. jsoupを使用してXMLを解析する方法
- 29. RubyとNokogiriを使用してXMLを解析する方法
- 30. XMLParserを使用してgoogle weather XMLを解析する方法
のメソッドを実装します。基本的にSAXのstartElement()は属性のマップを渡します。あなたは、StAXからこの情報を引き出すために、より複雑なコードを書く必要があります。 – cletus
一方、StAXでは、呼び出しスタックが要素スタックと一致する単純な再帰的降下パーサでXMLドキュメントを解析できます。 SAXを使うとステートマシンを書く必要があります。ステートマシンはもっと多くの定型文を必要とし、少なくともStAXカーソルの属性をマップに読み込むutilメソッドよりもずっと難しくありません。 – gustafc