Xalanを使ってXpathを試す

戻る
::::::::::::::
XPathTest.java
::::::::::::::
import java.io.*;
import java.util.*;
import java.net.*;

import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.w3c.dom.traversal.*;
import org.apache.xpath.*;

/**
* $Id: XPath.html,v 1.1 2009/06/22 16:12:03 kishi Exp kishi $
* @author KISHI Yasuhiro
*/
public class XPathTest {

    public static void main( String[] args ) {

        try {
            // XMLで記述されたパラメータを読み込む
            readParam( "president.xml", "//result/BODY/*" );
            System.out.println();
            readParam( "president.xml", "//result/SERIES/*" );

        } catch ( Exception e ) {
            e.printStackTrace();
        }

    }

    static void readParam( String xmlFile, String path ) {

        try {
            // DOMパーサ用ファクトリの生成
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            factory.setNamespaceAware( true );

            // 名前空間を認識する
            factory.setNamespaceAware( true );

            // DOM Documentインスタンス用ファクトリの生成
            DocumentBuilder builder = factory.newDocumentBuilder();

            // 解析とDocumentインスタンスの取得
            Document doc = builder.parse( xmlFile );

            // NodeIteratorの取得
            NodeIterator nl = XPathAPI.selectNodeIterator( doc, path );

            int count = 0;
            Node n;
            while ( ( n = nl.nextNode() ) != null ) {
                System.out.print( "nodeName = " + n.getNodeName() + "\n" );
                System.out.println( "nodeValue = [" + ( n.getFirstChild().getNodeValue() ).trim() + "]" );

                count++;
            }
            System.out.println( "counts: " + count );
        } catch ( Exception e ) {
            e.printStackTrace();
        }
    }

}

::::::::::::::
president.xml
::::::::::::::
<?xml version="1.0" encoding="Shift_JIS" ?>
<result>
<TITLE>
	4年で上位3.5%に食い込んだ「スニーカー魂」
</TITLE>
<COPY_1>
	残業ができないのに、1日30件以上の飛び込み営業をこなす。限られた時間内で成果を上げる集中力は誰にも負けない。
</COPY_1>
<LEADING_SENTENCE>
	直撃!連戦連勝「記録ホルダー」の秘密──大同生命・舩津知穂(渋谷支社第二営業課)
</LEADING_SENTENCE>
<SERIES>
<ISSUE>
		2005年4.4号
</ISSUE>
<DESC>
		特集/売り続ける営業
</DESC>
</SERIES>
<BODY>
	<HEADING>
	「子供を育てあげる」と飛び込んだ保険の世界
	</HEADING>
	<CONTENT>
	 大同生命保険の渋谷支社に勤務する入社7年目の舩津知穂さん(38歳)は約5000人の営業職員のわずか3.5%という特別参事Aの肩書を持つトップ営業職員である。営業職員は養成職員から始まり、主査、主事、参事、特別参事で、それぞれA、B、Cの3ランクに分かれている。わずか4年で駆け上がり、トップクラスを維持している。この実績は、全世界で働いている生命保険営業職のうち毎年業績トップ6%のメンバーで構成されるMDRT(世界100万ドル円卓会議)会員であることで証明される。   この実績の要因を一言で表すと「スタート時点での心構え」にある。爆発的なエネルギーを感じさせるギラギラとした活力というより、むしろコツコツと積み上げていく粘り強さを彼女は持っていた。   この業界に飛び込む以前の舩津さんは、長崎県諌早市の中学校で補助教員として国語を教えていた。毎年、本採用を目指して教員採用試験にチャレンジしていた。  「5年連続で不合格でした(笑)。あきらめきれない思いはありましたが、2人の娘たち(当時小学2年生と保育園)のことを考えるとそろそろ決断のときかなって。子供たちを何とか大学まで行かせてあげたい、となれば稼がないといけなかったんです」   教職に就くことをあきらめるなら思い切った転身をはかりたい。そして成果がそのまま実績として評価される営業職に魅力を感じていた。地元のハローワークでインターネット検索をすると、目指す仕事は東京にあった。   舩津さんは2社の保険会社の面接を受けた。1社は、保険営業の難しさ、厳しさを何度も説明してくれた。もう1社は、楽して稼げる仕事だと言われた。  「保険営業は縁故で売れる時代ではない。お客様にとって本当に有益な保険商品でなければ売れない。食べていけるかどうかもわからない仕事だから、一生懸命勉強する気がないと勤まらない……。次々に厳しい世界であることを聞かされました。でも、私も生半可な気持ちでこの仕事に就こうと思ったわけじゃなかったので、厳しく言ってくれる一言一言が身にしみました。ここで頑張れば、私自身が成長できる。どちらの会社で働くか判断に迷いはありませんでした」   子供を立派に育て上げるんだという心構え、覚悟があったからこそ、迷うことはなかったが、実際の仕事は面接で聞かされた以上に厳しいものだった。   舩津さんの保険セールスは法人向け営業である。渋谷税務署管内の法人会に所属している企業を中心に労災の上乗せや退職金づくりのための生命保険を提案することが主な業務である。営業はあくまで飛び込みで、訪問する企業にとって本当に有意義な提案ができない限り成約は難しい。まして、飛び込み営業であるからには、社長と保険の話ができる段階にたどり着くまでのプロセスが大事になる。        「日曜の夜になると仕事ができるから楽しみ」と語る舩津さん。     「飛び込みで顧客を獲得して、リピート率を増やしていくことができて初めて一人前だと思っていました。その思いを強く持って、1日に30件以上訪問しましたが6カ月間、まったく結果につながりませんでした」   第1号の契約は飛び込み営業を始めて7カ月に入ったころ、突然やってきた。  「あの提案やってみようか」   まったく反応を示さなかった会社の社長から声をかけられた。福利厚生の練り直し案を急いで持っていくと初めて契約が取れた。  「保険セールスの人はころころと代わるじゃない。あなたもすぐに辞めてしまうだろうなって思っていたら、そうでもないような気がしてきてね」   この一言が舩津さんの自信になった。誰もが私を試していたのではないか。周囲の目を初めて意識した瞬間である。  「第一印象がとっても大事で、相手に共感できる心を持つこと。相手が自分をわかってくれるようになれば保険契約に結びつきます」
	</CONTENT>
</BODY>
<BODY>
	<HEADING>
	1日30件以上訪問を可能にするスニーカー営業
	</HEADING>
	<CONTENT>
	 7カ月目を境に飛躍的に保険が売れるようになった。気がつくと舩津スタイルの基本形が出来上がっていた。   午前9時20分から午後5時20分までが舩津さんの営業時間。子供の幼稚園の送り迎えがあり、残業がしたくてもできなかった。限られた時間をやりくりして1日30件以上を訪問する。   アプローチの方法は訪問企業の情報収集から始まる。福利厚生や退職金準備、労災に関するアンケートを準備して、それに答えてもらえるかが鍵になる。  「社長が不在のとき受付においてくるだけでは、なかなか答えていただくことができません。確実に手渡しできるように粘りますね。経営者の考えを酌み取って商品に反映していきたいという思いを伝えます。アポイントがなくても社長の姿を見つけたら、『ささっとお目通しください』とお願いしていきます。アンケートに答えていただければ次回の訪問につながりますから」   このフットワークのよさが舩津スタイルである。雨の日、暑い日こそ気合を入れて訪問する。誰もが働きたくないと感じる日だからこそ社長の在社率も高くなる。汗をかいてやってくる舩津さんの姿は訪問会社で好印象を与える。極めつきは、営業のときはいつもスニーカーをはいていることだ。いまでは「宅配便とバイク便以外でスニーカー姿はあなただけ」と訪問先でも公認されている。        1日30件以上の訪問を可能にするスニーカー営業。     「そんな格好で訪問していてはダメだ」と社内で注意されたことがあった。しかし、1日30件以上の訪問をこなすにはヒールだと疲れてしまう。体が資本、とスニーカー営業をやめなかった。   アンケートに答えてもらったらできるだけ2日以内に再訪問する。提案書は押し付けでなく訪問先の社長が問題点に自ら気づくように配慮する。見直しのメリットとデメリットを率直に伝えるなど、舩津さん自身が信用されることが成約につながる。コツコツと積み上げていく粘り強さが成功の秘訣である。   営業経験が3年もすぎると、既存の顧客相手に追加契約をとることがルーチンワークになりがちだが、舩津さんはコンスタントに新規契約を増やし続けている。  「仕事に飽きたことがないんです。日曜の夜になるとうれしくなります」   と屈託なく笑う。限られた時間内で成果を上げることにこれほどまでに集中力を発揮できる人はそんなにいない。   諌早から東京へ──。このときの覚悟が成功への架け橋になっている。
	</CONTENT>
</BODY>
</result>

::::::::::::::
XPathTest.bat
::::::::::::::
java -cp xalan.jar;. XPathTest
::::::::::::::
compile.bat
::::::::::::::
javac -cp xalan.jar;. *.java
::::::::::::::
result.txt
::::::::::::::

d:\MyDevelopment\java-test\XPath>java -cp xalan.jar;. XPathTest 
nodeName = HEADING
nodeValue = [「子供を育てあげる」と飛び込んだ保険の世界]
nodeName = CONTENT
nodeValue = [ 大同生命保険の渋谷支社に勤務する入社7年目の舩津知穂さん(38歳)は約5000人の営業職員のわずか3.5%という特別参事Aの肩書を持つトップ営業職員である。営業職員は養成職員から始まり、主査、主事、参事、特別参事で、それぞれA、B、Cの3ランクに分かれている。わずか4年で駆け上がり、トップクラスを維持している。この実績は、全世界で働いている生命保険営業職のうち毎年業績トップ6%のメンバーで構成されるMDRT(世界100万ドル円卓会議)会員であることで証明される。   この実績の要因を一言で表すと「スタート時点での心構え」にある。爆発的なエネルギーを感じさせるギラギラとした活力というより、むしろコツコツと積み上げていく粘り強さを彼女は持っていた。   この業界に飛び込む以前の舩津さんは、長崎県諌早市の中学校で補助教員として国語を教えていた。毎年、本採用を目指して教員採用試験にチャレンジしていた。  「5年連続で不合格でした(笑)。あきらめきれない思いはありましたが、2人の娘たち(当時小学2年生と保育園)のことを考えるとそろそろ決断のときかなって。子供たちを何とか大学まで行かせてあげたい、となれば稼がないといけなかったんです」   教職に就くことをあきらめるなら思い切った転身をはかりたい。そして成果がそのまま実績として評価される営業職に魅力を感じていた。地元のハローワークでインターネット検索をすると、目指す仕事は東京にあった。   舩津さんは2社の保険会社の面接を受けた。1社は、保険営業の難しさ、厳しさを何度も説明してくれた。もう1社は、楽して稼げる仕事だと言われた。  「保険営業は縁故で売れる時代ではない。お客様にとって本当に有益な保険商品でなければ売れない。食べていけるかどうかもわからない仕事だから、一生懸命勉強する気がないと勤まらない……。次々に厳しい世界であることを聞かされました。でも、私も生半可な気持ちでこの仕事に就こうと思ったわけじゃなかったので、厳しく言ってくれる一言一言が身にしみました。ここで頑張れば、私自身が成長できる。どちらの会社で働くか判断に迷いはありませんでした」   子供を立派に育て上げるんだという心構え、覚悟があったからこそ、迷うことはなかったが、実際の仕事は面接で聞かされた以上に厳しいものだった。   舩津さんの保険セールスは法人向け営業である。渋谷税務署管内の法人会に所属している企業を中心に労災の上乗せや退職金づくりのための生命保険を提案することが主な業務である。営業はあくまで飛び込みで、訪問する企業にとって本当に有意義な提案ができない限り成約は難しい。まして、飛び込み営業であるからには、社長と保険の話ができる段階にたどり着くまでのプロセスが大事になる。        「日曜の夜になると仕事ができるから楽しみ」と語る舩津さん。     「飛び込みで顧客を獲得して、リピート率を増やしていくことができて初めて一人前だと思っていました。その思いを強く持って、1日に30件以上訪問しましたが6カ月間、まったく結果につながりませんでした」   第1号の契約は飛び込み営業を始めて7カ月に入ったころ、突然やってきた。  「あの提案やってみようか」   まったく反応を示さなかった会社の社長から声をかけられた。福利厚生の練り直し案を急いで持っていくと初めて契約が取れた。  「保険セールスの人はころころと代わるじゃない。あなたもすぐに辞めてしまうだろうなって思っていたら、そうでもないような気がしてきてね」   この一言が舩津さんの自信になった。誰もが私を試していたのではないか。周囲の目を初めて意識した瞬間である。  「第一印象がとっても大事で、相手に共感できる心を持つこと。相手が自分をわかってくれるようになれば保険契約に結びつきます」]
nodeName = HEADING
nodeValue = [1日30件以上訪問を可能にするスニーカー営業]
nodeName = CONTENT
nodeValue = [ 7カ月目を境に飛躍的に保険が売れるようになった。気がつくと舩津スタイルの基本形が出来上がっていた。   午前9時20分から午後5時20分までが舩津さんの営業時間。子供の幼稚園の送り迎えがあり、残業がしたくてもできなかった。限られた時間をやりくりして1日30件以上を訪問する。   アプローチの方法は訪問企業の情報収集から始まる。福利厚生や退職金準備、労災に関するアンケートを準備して、それに答えてもらえるかが鍵になる。  「社長が不在のとき受付においてくるだけでは、なかなか答えていただくことができません。確実に手渡しできるように粘りますね。経営者の考えを酌み取って商品に反映していきたいという思いを伝えます。アポイントがなくても社長の姿を見つけたら、『ささっとお目通しください』とお願いしていきます。アンケートに答えていただければ次回の訪問につながりますから」   このフットワークのよさが舩津スタイルである。雨の日、暑い日こそ気合を入れて訪問する。誰もが働きたくないと感じる日だからこそ社長の在社率も高くなる。汗をかいてやってくる舩津さんの姿は訪問会社で好印象を与える。極めつきは、営業のときはいつもスニーカーをはいていることだ。いまでは「宅配便とバイク便以外でスニーカー姿はあなただけ」と訪問先でも公認されている。        1日30件以上の訪問を可能にするスニーカー営業。     「そんな格好で訪問していてはダメだ」と社内で注意されたことがあった。しかし、1日30件以上の訪問をこなすにはヒールだと疲れてしまう。体が資本、とスニーカー営業をやめなかった。   アンケートに答えてもらったらできるだけ2日以内に再訪問する。提案書は押し付けでなく訪問先の社長が問題点に自ら気づくように配慮する。見直しのメリットとデメリットを率直に伝えるなど、舩津さん自身が信用されることが成約につながる。コツコツと積み上げていく粘り強さが成功の秘訣である。   営業経験が3年もすぎると、既存の顧客相手に追加契約をとることがルーチンワークになりがちだが、舩津さんはコンスタントに新規契約を増やし続けている。  「仕事に飽きたことがないんです。日曜の夜になるとうれしくなります」   と屈託なく笑う。限られた時間内で成果を上げることにこれほどまでに集中力を発揮できる人はそんなにいない。   諌早から東京へ──。このときの覚悟が成功への架け橋になっている。]
counts: 4

nodeName = ISSUE
nodeValue = [2005年4.4号]
nodeName = DESC
nodeValue = [特集/売り続ける営業]
counts: 2

戻る inserted by FC2 system