10.3.36 getXmlAttrValue(XMLデータの要素の属性値の取得)
形式
getXmlAttrValue [-e 文字コード] 要素名 属性名 [ファイルパス名]
機能
引数に指定されたXMLファイルから要素の属性を検索し,完全一致したすべての属性の値を出力します。属性値に含まれる改行は削除して出力されます。
引数
- -e 文字コード
-
- Windows版
-
XMLファイルの文字コードを指定します。指定できる値は「SJIS」または「UTF8」です。このオプションを指定しない場合,文字コードをUTF8として扱います。
- UNIX版
-
XMLファイルの文字コードを環境変数LANGの値の形式で指定します。指定できる値は,「2.2.4 JP1/Advanced Shellを使用するときのエンコーディング」を参照してください。
このオプションを指定しない場合,JP1/Advanced Shellが動作する環境の環境変数LANGの値の形式で文字コードを指定したと仮定します。
例えば,AIXで文字コードUTF-8のXMLファイルを扱う場合,-eオプションに「JA_JP」または「JA_JP.UTF-8」を指定します。
- 要素名
-
属性を持つ要素名を指定します。
- 属性名
-
検索する属性名を指定します。
- ファイルパス名
-
XMLファイルのパスを指定します。ファイルパス名を指定しない場合,標準入力から入力します。
標準出力への出力
XMLデータの要素の属性の値。
終了コード
終了コード |
意味 |
---|---|
0 |
正常終了 |
1以上 |
エラー終了 |
注意事項
-
一致する要素や属性が見つからなかった場合,エラー終了します。
-
要素名や属性名に正規表現のメタキャラクタが含まれている場合,\でエスケープして指定してください。
- 例
-
要素名「name+」の属性名「id*」を検索する場合,次のように指定する。
getXmlAttrValue 'name\+' 'id\*' test.xml
-
この部品では,adshmktempコマンドを使用して一時ファイルを作成します。そのため,部品実行中に強制終了要求を受けると,一時ファイルが残ることがあります。この場合は,手動で一時ファイルを削除してください。一時ファイルは,環境ファイルのTEMP_FILE_DIRパラメーターで定義したディレクトリに次の命名規則で作成されます。
getXmlAttrValue_ジョブ識別子_プロセスID_時間情報_ファイル通し番号
使用例
XMLデータ(data.xml) <data> <city> <name id="0001" value="200">Yokohama</name> <name id="0002" value="100">Kawasaki</name> </city> </data> getXmlAttrValue name id data.xml # 以下の内容が出力される。 0001 0002 getXmlAttrValue -e SJIS name value data.xml # 以下の内容が出力される。 200 100