|
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectorg.xml.sax.helpers.DefaultHandler
org.opengion.fukurou.xml.XML2TableParser
public class XML2TableParser
XML2TableParser は、XMLを表形式に変換するためのXMLパーサーです。
XMLのパースには、SAXを採用しています。
このクラスでは、XMLデータを分解し、2次元配列の表データ、及び、指定されたキーに対応する
属性データのマップを生成します。
これらの配列を生成するためには、以下のパラメータを指定する必要があります。
①2次元配列データ(表データ)の取り出し
行のキー(タグ名)と、項目のキー一覧(タグ名)を指定することで、表データを取り出します。
具体的には、行キーのタグセットを"行"とみなし、その中に含まれる項目キーをその列の"値"と
して分解されます。(行キーがN回出現すれば、N行が生成されます。)
もし、行キーの外で、項目キーのタグが出現した場合、その項目キーのタグは無視されます。
また、colKeysにPARENT_TAG、PARENT_FULL_TAGを指定することで、rowKeyで指定されたタグの
直近の親タグ、及びフルの親タグ名(親タグの階層を">[タグA]>[タグB]>[タグC]>"で表現)を
取得することができます。
行キー及び項目キーは、setTableCols(String, String[])
で指定します。
②属性データのマップの取り出し
属性キー(タグ名)を指定することで、そのタグ名に対応した値をマップとして生成します。
同じタグ名が複数回にわたって出現した場合、値はアペンドされます。
属性キーは、setReturnCols(String[])
で指定します。
※それぞれのキー指定は、大文字、小文字を区別した形で指定することができます。
但し、XMLのタグ名とマッチングする際は、大文字、小文字は区別せずにマッチングされます。
フィールドの概要 | |
---|---|
(package private) java.util.Map<java.lang.String,java.lang.Integer> |
colCpIdxs
|
(package private) java.lang.String |
colCpKeys
|
(package private) java.lang.String[] |
cols
|
(package private) java.lang.String |
curFQName
|
(package private) java.lang.String |
curId
|
(package private) java.lang.String |
curQName
|
(package private) java.lang.String[] |
data
|
(package private) java.util.List<org.opengion.fukurou.xml.XML2TableParser.RowColId> |
idList
|
(package private) java.util.Map<java.lang.String,java.lang.String> |
idMap
|
(package private) java.io.InputStream |
input
|
(package private) boolean |
isInRow
|
(package private) int |
pFullTagIdx
|
(package private) int |
pTagIdx
|
(package private) java.lang.String |
rowCpKey
|
(package private) java.util.List<java.lang.String[]> |
rows
|
(package private) java.lang.String |
rtnCpKeys
|
(package private) java.util.Map<java.lang.String,java.lang.String> |
rtnKeyMap
|
(package private) java.util.Map<java.lang.String,java.lang.String> |
rtnMap
|
コンストラクタの概要 | |
---|---|
XML2TableParser(java.io.InputStream is)
ストリームを指定してパーサーを形成します。 |
|
XML2TableParser(java.lang.String s)
XMLの文字列を指定してパーサーを形成します。 |
メソッドの概要 | |
---|---|
void |
characters(char[] ch,
int offset,
int length)
テキストデータ読み込み時に行う処理を定義します。 |
void |
endDocument()
ドキュメント終了時に行う処理を定義します。 |
void |
endElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName)
要素の終了タグ読み込み時に行う処理を定義します。 |
java.lang.String[] |
getCols()
表データのヘッダーの項目名を配列で返します。 |
java.lang.String[][] |
getData()
表データを2次元配列で返します。 |
java.util.Map<java.lang.String,java.lang.String> |
getRtn()
属性データをマップ形式で返します。 |
void |
parse()
XMLのパースを実行します。 |
void |
setReturnCols(java.lang.String[] rKeys)
属性データのマップの取り出しを行うための属性キーを指定します。 |
void |
setTableCols(java.lang.String rKey,
java.lang.String[] cKeys)
2次元配列データ(表データ)の取り出しを行うための行キーと項目キーを指定します。 |
void |
startDocument()
ドキュメント開始時に行う処理を定義します。 |
void |
startElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName,
org.xml.sax.Attributes attributes)
要素の開始タグ読み込み時に行う処理を定義します。 |
クラス org.xml.sax.helpers.DefaultHandler から継承されたメソッド |
---|
endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startPrefixMapping, unparsedEntityDecl, warning |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
java.lang.String rowCpKey
java.lang.String colCpKeys
java.util.Map<java.lang.String,java.lang.Integer> colCpIdxs
java.util.List<java.lang.String[]> rows
java.lang.String[] data
java.lang.String[] cols
java.lang.String rtnCpKeys
java.util.Map<java.lang.String,java.lang.String> rtnKeyMap
java.util.Map<java.lang.String,java.lang.String> rtnMap
boolean isInRow
java.lang.String curQName
java.lang.String curFQName
int pFullTagIdx
int pTagIdx
java.lang.String curId
java.util.List<org.opengion.fukurou.xml.XML2TableParser.RowColId> idList
java.util.Map<java.lang.String,java.lang.String> idMap
final java.io.InputStream input
コンストラクタの詳細 |
---|
public XML2TableParser(java.lang.String s)
s
- XMLデータ(文字列)public XML2TableParser(java.io.InputStream is)
is
- XMLデータ(ストリーム)メソッドの詳細 |
---|
public void setTableCols(java.lang.String rKey, java.lang.String[] cKeys)
rKey
- 行キーcKeys
- 項目キー5.1.6.0 (2010/05/01) rowKeyの親タグが取得できるように対応 |
public void setReturnCols(java.lang.String[] rKeys)
rKeys
- 属性キーpublic java.lang.String[] getCols()
public java.lang.String[][] getData()
public java.util.Map<java.lang.String,java.lang.String> getRtn()
public void parse()
public void startDocument()
org.xml.sax.ContentHandler
内の startDocument
org.xml.sax.helpers.DefaultHandler
内の startDocument
public void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attributes)
org.xml.sax.ContentHandler
内の startElement
org.xml.sax.helpers.DefaultHandler
内の startElement
5.1.6.0 (2010/05/01) rowKeyの親タグが取得できるように対応 |
public void characters(char[] ch, int offset, int length)
org.xml.sax.ContentHandler
内の characters
org.xml.sax.helpers.DefaultHandler
内の characters
public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)
org.xml.sax.ContentHandler
内の endElement
org.xml.sax.helpers.DefaultHandler
内の endElement
public void endDocument()
org.xml.sax.ContentHandler
内の endDocument
org.xml.sax.helpers.DefaultHandler
内の endDocument
|
openGion 5.1.7.0 | ||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |