StAX memo

皆さんはXMLのパースは何を使っていますか?DOM?SAX?
JavaではJava6からStAXがサポートされているので、このStAXを使うと比較的簡単にXMLファイルをパースしたり、書き込んだりすることができます。

ライブラリの入手

StAXの実装はWoodstoxを用いましょう。
次のXMLを読み込んでみましょう。

<Hoge Foo="Bar">
  ほげふ
</Hoge>

xmlと言うStringの変数にXMLが入っているとすると、読み込むには次のような感じ。

XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();
XMLEventReader eventReader = xmlInputFactory.createXMLEventReader( new StringReader( xml ));
while( eventReader.hasNext() ){
  XMLEvent event = eventReader.nextEvent();
  // Hogeタグの開始
  if(event.isStartElement() && event.asStartElement().getName().getLocalPart().equals("Hoge") ){
    String foo = event.asStartElement().getAttributeByName(new QName("Foo"));
    Characters characters = reader.nextEvent().asCharacters();
    String ret = characters.getData();
  }
}

No Comments

Post a Comment

コメントを投稿するには、下の計算の答えを入力する必要があります。答えは半角数字で入力してください。 *