私はSAXの最初のXML文書の一部を単にorg.xml.sax.ContentHandler
を実装して解析しようとしていますが、その流れを理解しているかどうかはわかりません。与えられたXMLドキュメントの場合:SAXはどのようにドキュメントを解析しますか?
<?xml version="1.0"?>
<list>
<item>
<name>One</name>
<description>The number 1, expressed in letters.
</item>
<item>
<name>Two</name>
<description>The number 2, expressed in letters.
</item>
</list>
パーサーの予想されるイベントの順序はどのようになりますか?私は次のことを前提にしていますか?
startDocument()
startElement() -> "list"
startElement() -> "item"
startElement() -> "name"
characters() (>=1 times) -> "One"
endElement() -> "name"
startElement() -> "description"
characters() (>=1 times) -> "The number 1, expressed in letters."
endElement() -> "description"
endElement() -> "item"
startElement() -> "item"
startElement() -> "name"
characters() (>=1 times) -> "Two"
endElement() -> "name"
startElement() -> "description"
characters() (>=1 times) -> "The number 2, expressed in letters."
endElement() -> "description"
endElement() -> "item"
endElement() -> "list"
endDocument()
それはかなり要点ですか?
また、どのような構文解析が最も簡単ですか?現在、startElement
の各呼び出しで、characters
呼び出しでデータを解析しているときのプライベート変数として現在の要素の名前を保存しています。それを行うより簡単な方法がありますか?
残念ながら、もっと良い解決策がわからない限り、私はRestletを使ってAndroid上にあるので、私はSAXを使用することを確信しています。 –
[xstream](http://xstream.codehaus.org/faq.htm)を使用してみましたか? – bbaja42