[Scripting] | ||||||||||||
WSHからXMLファイルの設定情報を読み込む
|
||||||||||||
|
解説 |
WSH(Windows Scripting Hosts)でアプリケーションを構築する場合、リソース、パスなど、ユーザーが頻繁に変更したり、編集したりする可能性がある情報は、設定ファイルとして外部ファイル化しておくとよい。外部ファイル化することで、エンド・ユーザーが不用意にコードを編集しなくても済むし、万が一、設定を誤った場合でも、コード本体まで破損してしまうことを防ぐことができる。
設定ファイルといっても、その形式はさまざまだ。テキスト・ファイル形式は環境に依存せず、アプリケーションからの操作もしやすいため、簡易なアプリケーションでは好んで採用される。しかし簡易である分、テキスト・ファイルにはさまざまな問題があるのも確かだ。
まずは、編集の分かりやすさを考えてみよう。管理する項目が2〜3項目ならば簡単だ。だがこれが10項目、20項目と増えていったらどうだろう。何番目のカラムがどの項目を表しているかなどは、一見しただけでは確認しにくくなる。
また、将来的に項目が拡張された場合はどうだろう。タブ区切りテキストやカンマ区切りテキストを処理する際に、アプリケーションは基本的に列の序列でデータを取得しているはずだ。ところが途中で何かしら項目が追加された場合、追加になった個所以降の序列はすべて変わってしまう。つまり、テキスト・ファイルではデータ・レイアウトの変更が、そのままアプリケーションに影響を与えてしまうことになる。
以上から、将来的なデータ・レイアウトの変更が頻繁に想定されるような状況、また、データの項目数が多い状況では、テキスト・ファイルの採用はあまり好ましくない。
そこで登場するのがXML(eXtensible Markup Language)である。XMLに関する詳細は、「XML&SOAフォーラム」を参照いただくとして、ここで注目していただきたいのは、XMLが人間の目にも分かりやすいタグ付けがされており、データの内容が視認しやすいという点、個々のデータにはタグ名を介してアクセスできるのでデータ・レイアウトの変更にも耐性・柔軟性があるという点だ。XMLには(もちろん)さまざまな用途が考えられるが、設定ファイルのフォーマットとして採用されるケースがとみに増えてきたのは、このような理由によるところが大きい。
本稿では、Windows TIPS「WSHでIEの『お気に入り』一覧を設定する」で利用した設定ファイルをXML形式に置き換え、WSHスクリプトから利用する方法について紹介しよう。XMLファイル読み込みの手法はもちろん、XML形式を利用することの利点もまた、サンプルを通じて理解していただきたい。なお、本稿ではあくまでXMLファイルの読み込みに特化した部分の解説を重点に紹介する。そのほかの細かいロジックについては、先のWindows TIPS記事を参照してほしい。
操作方法 |
手順1―テキスト・エディタでスクリプトのコードを入力する
まずはテキスト・エディタ(メモ帳でも何でもよい)を開き、以下のコードを入力してfavorites_xml.wsfというファイルを作成してほしい。ただし引用符(')で始まる行はコードの意味を解説するためのコメント部分なので、省略してもよい。プログラムの処理内容や、XMLファイルの読み込み方法などについては、コメントを参照していただきたい。
※ファイルfavorites_xml.wsf |
- サンプル・ファイルのダウンロード
(注:サンプルfavorites_xml.wsfを実行するには、上のサンプル・ファイルを右クリックしてfavorites_xml.wsfというファイル名で保存し、さらにC:ドライブのルートにデータ・ファイルをfavorites.xmlというファイル名で保存する)
WSHの実行ファイルは拡張子「.wsf」(Windows Scripting host File)とする必要がある。ファイル名自体は何でもよいが、ここでは「favorites_xml.wsf」という名前で保存しておこう。
手順2―WSHのコードを実行する
favorites_xml.wsfを実行するには、エクスプローラなどからfavorites_xml.wsfをダブルクリックするだけでよい。その際、あらかじめ上記のスクリプト中の定数CONFIGで指定された設定ファイル(ここでは「c:\favorites.xml」としている)が実際に存在することを確認しておいてほしい。実行後、お気に入りに指定したサイトへのリンクが作成(追加)されていれば成功だ。
favorites.xmlの例としては、例えば次のようなものを用意し、これをc:\favorites.xmlとして保存しておく。ルート要素<favorites>の配下に、個々のお気に入り情報を表す<site>要素を複数個含むことができる。個々の<site>要素には、現在、サイト名(<name>要素)とリンク先のURL(<url>要素)とを含むものとする。
※ファイルfavorites.xml |
- サンプル・データ・ファイルのダウンロード
(注:サンプル・データ・ファイルfavorites.xmlを準備するには、上のリンクを右クリックしてfavorites.xmlというファイル名でC:ドライブのルートに保存する)
なお、この例では、<site>要素の配下にあるのは<name>と<url>要素だけであるが、今後新たな要素として、例えばサイトを説明するための<description>要素が追加されたとしても、元のコードには影響が出ない点に注目してほしい。繰り返すが、この拡張性がXMLフォーマットの魅力の1つである。
この記事と関連性の高い別の記事
- FrontPage 2003をXMLエディタとして利用する(TIPS)
- WSHに渡された引数の妥当性を自動検証する(TIPS)
- WSHスクリプトでヘルプ・メッセージを表示する(TIPS)
- スクリプトレット・コンポーネントでリソース情報を定義する(TIPS)
- WSHからExcelファイルの設定情報を読み込む(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|