質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

タグ

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Q&A

解決済

1回答

8641閲覧

PowerShellで、XMLファイルの中から”必要なタグのみ抽出”したい。

mie.8

総合スコア28

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

タグ

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

0グッド

0クリップ

投稿2017/06/21 00:45

前提・実現したい事

XMLファイルの中から、必要なタグのみ抽出したいです。

①XMLファイルをPowerShellで読み込み。

②必要なタグの抜き出し。

③抜き出したタグを、別名.XML で保存。

【例】
下記の様なXMLファイルがあったとします。

XML

1<?xml version="1.0" encoding="utf-8"?> 2<EXP_HogehogeWorkDataTable> 3 <DocumentElement> 4 5 <EXP_HogehogeWork id="EXP_HogehogeWork1"> 6 <RecordId>00000055643</RecordId> 7 <LastUpdateDate>2015-04-20T11:13:59.000+09:00</LastUpdateDate> 8 </EXP_HogehogeWork> 9 10 <EXP_HogehogeWork id="EXP_HogehogeWork2"> 11 <RecordId>00000925544</RecordId> 12 <LastUpdateDate>2015-04-21T11:23:45.000+09:00</LastUpdateDate> 13 </EXP_HogehogeWork> 14 15 <EXP_HogehogeWork id="EXP_HogehogeWork3"> 16 <RecordId>00000007048</RecordId> 17 <LastUpdateDate>2015-04-21T20:12:02.000+09:00</LastUpdateDate> 18 </EXP_HogehogeWork> 19 20 <EXP_HogehogeWork id="EXP_HogehogeWork4"> 21 <RecordId>00001611089</RecordId> 22 <LastUpdateDate>2015-04-23T13:23:08.000+09:00</LastUpdateDate> 23 </EXP_HogehogeWork> 24 25 </DocumentElement> 26</EXP_HogehogeWorkDataTable>

この中から、「 <RecordId><LastUpdateDate> 」のタグ部分のみ欲しいとして、
抜き出しを行いたいのですが、上手く行きません。

【理想の実行結果】

XML

1<RecordId>00000055643</RecordId> 2<LastUpdateDate>2015-04-20T11:13:59.000+09:00</LastUpdateDate> 3<RecordId>00000925544</RecordId> 4<LastUpdateDate>2015-04-21T11:23:45.000+09:00</LastUpdateDate> 5<RecordId>00000007048</RecordId> 6<LastUpdateDate>2015-04-21T20:12:02.000+09:00</LastUpdateDate> 7<RecordId>00001611089</RecordId> 8<LastUpdateDate>2015-04-23T13:23:08.000+09:00</LastUpdateDate>

【実際の実行結果】

XML

1RecordId LastUpdateDate 2-------- -------------- 300000055643 2015-04-20T11:13:59.000+09:00 400000925544 2015-04-21T11:23:45.000+09:00 500000007048 2015-04-21T20:12:02.000+09:00 600001611089 2015-04-23T13:23:08.000+09:00

タグ抜き出しに関して、参考にしたサイト

発生している問題・Error Message

上記サイトを参考に実行してみましたが、実際に取得出来た形式としては、SQLのテーブルの様な形で出力でした。
指定したタグ1行丸々欲しいです。

よろしくお願い致します。

実際のソースコード

試した事

補足情報(言語/FW/ツール等のVersion)

・PowerShell ver5.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

下記コードで取得出来ました。

PowerShell

1$xml. 2 EXP_HogehogeWorkDataTable. 3 DocumentElement. 4 EXP_HogehogeWork| 5 foreach { 6 $_["RecordId"].OuterXml 7 $_["LastUpdateDate"].OuterXml 8 }

投稿2017/06/21 02:02

mie.8

総合スコア28

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問