タグ

JavaとXMLに関するmonjudohのブックマーク (6)

  • DOMとSAXとStAXと。 - 都元ダイスケ IT-PRESS

    こんな名前のAPIがありますね。主にXMLの読み込みを行う為のAPI群であります。SAX以外は、書き出しもできますね。そう、SAXは書き出しできないのですね、基的に。 <foo> <bar>baz</bar> </foo> っていうもの凄い単純なXMLを、これらのAPIでどのように扱うのか。比較なエントリ。 まずはDOM DOMは、パース時にXMLの内容を全てメモリ上に保持し、パース後にどの要素にもいつでもアクセスできるような環境を作り出す。 import java.io.ByteArrayInputStream; import java.io.StringWriter; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.t

    DOMとSAXとStAXと。 - 都元ダイスケ IT-PRESS
  • 「Java SE 6完全攻略」第72回 第三のパーサ - StAX その4

    StAXとXSLTを連携させる Java SE 6で導入されたStAXを扱うため,XSLTも機能拡張されています。具体的にはXSLTトランスフォーマへの入力となるソース,そして出力となるリザルトに,StAX用のクラスが提供されたのです。 そこで,今週はXSLTとStAXを連携させてみましょう。ただし,記事はStAXの紹介記事であるため,XSLTに関する説明は必要最低限に留めておきます。 まずは単純にStAX用のソースもしくはリザルトを使用するところからはじめてみます。 StAX用のソースはjavax.xml.transform.stax.StAXSrouceクラス,そしてリザルトはjavax.xml.transform.stax.StAXResultクラスとなります。 先週までの紹介で,StAXにはカーソルAPIとイベントイテレータAPIがあることはお分かりだと思います。ソース,そしてリ

    「Java SE 6完全攻略」第72回 第三のパーサ - StAX その4
  • 「Java SE 6完全攻略」第71回 第三のパーサ - StAX その3

    public CursorWriterSample() { // ファクトリの生成 XMLOutputFactory factory = XMLOutputFactory.newInstance(); StringWriter stringWriter = new StringWriter(); XMLStreamWriter writer = null; try { // ライタの生成 writer = factory.createXMLStreamWriter(stringWriter); // XMLドキュメントの開始 writer.writeStartDocument(); // names要素 writer.writeStartElement("names"); // name要素 writer.writeStartElement("name"); // name要素の属性 wr

    「Java SE 6完全攻略」第71回 第三のパーサ - StAX その3
    monjudoh
    monjudoh 2008/04/22
    今回はXML出力の方
  • 「Java SE 6完全攻略」第70回 第三のパーサ - StAX その2

    前回から,新しいXMLパーサであるStAX (Streaming API for XML)を紹介しています。 イベントイテレータAPI 前回はカーソルAPIについて解説しました。カーソルAPIではイテレータのようにXMLをパースしていくことができ,パースの制御をアプリケーションで行なうことが可能です。 しかし,イベントを番号で扱い,イベントによりパーサから取得できる情報が異なるなどの問題もあります。 それに対して,今回紹介するイベントイテレータAPIはイベントをクラスで表します。取得できる情報はイベントに内包されているため,取得できる情報を容易に判別することができます。 それでは,前回使用したサンプルをイベントイテレータAPIで書き直してみましょう。 public EventIteratorSample1(String xmlfile) { // 1. パーサ用ファクトリの生成 XMLIn

    「Java SE 6完全攻略」第70回 第三のパーサ - StAX その2
    monjudoh
    monjudoh 2008/04/14
    イベントイテレータAPIの解説。coolだ。
  • 「Java SE 6完全攻略」第69回 第三のパーサ - StAX その1

    今月から,XMLとWebサービスに関するJava SE 6の新機能を紹介していきます。 今まで,WebサービスJava EEだけで扱われていました。Java EEではWebサービスを提供する側の機能が中心になっています。しかし,提供するだけでなく,Webサービスを使う側の機能も重要です。 Java SE 6では,この使う側,つまりWebサービスのクライアント機能が取りいれられました。また,それに応じて,XMLを扱う機能も強化されています。 そこで,連載ではWebサービスの基幹となる,XMLを扱う機能から紹介していくことにしましょう。 DOM,SAX,そしてStAX Java SE 6では,新しいXMLパーサが仲間入りすることになりました。その名はStreaming API for XML,通称StAXです。 StAXはJCPのJSR 173で標準策定が行なわれました。Java SEに取

    「Java SE 6完全攻略」第69回 第三のパーサ - StAX その1
    monjudoh
    monjudoh 2008/04/08
    今回はカーソルAPIの説明。パーサをイテレータのように扱える。
  • JavaのXPath実装の比較 (2007-05-05)

    いままで日語のAPIドキュメントがあるという理由でjavax.xml.xpath.XPathを使っていたのだけれども、隣の芝生であるところのorg.apache.xpath.XPathAPIが異様に青く見えて仕方ないので違いを調べてみた。 一番の違いは、前者はファクトリクラスで生成したオブジェクトを使ってXPath式を評価するのに対し、後者はスタティックメソッドを使ってXPath式を評価する点だと思った。あとはメソッドに渡す引数の型が java.lang.Object か org.w3c.dom.Node かの違いとか、返ってくるのが java.lang.Object か org.w3c.dom.NodeList かの違いとかそんなところ。ちょっと細かく見ていってみよう。 こういうXMLを処理させたい。 <?xml version='1.0' encoding='UTF-8' ?> <d

  • 1