PowerShellの開発でお困りのことはありませんか?
そんな悩みは
当サイトで解決!!
08.簡易XMLビューア
UPDATE:2008/05/02
簡易XMLビューアを作ってみました。
指定したXMLファイルをGUIで確認することができます。
実行結果は下記の通りです。
View-Xml.ps1
#=============================================================================== # View-Xml: XMLファイルを読み込んで表示する(簡易XMLViewer) # # 使用例 # PS > View-Xml XMLファイルパス # # copyright HIRO's.NET(http://hiros-dot.net/) #=============================================================================== function global:View-Xml { Param($XmlFile)
#パスが指定されているか? if ( $XmlFile.Length -eq $null ) { Write-Host "XMLファイルを指定してください" return } #存在するパスか? if ( -not $(Test-Path $XmlFile) ) { Write-Host $XmlFile + "は存在しません" return } #データセットを作成し、XMLファイルを読み込む $dtSet = New-Object System.Data.DataSet $dtSet.ReadXml($XmlFile) #===== Formの作成 ===== [reflection.assembly]::LoadWithPartialName("System.Windows.Forms") $form = New-Object System.Windows.Forms.Form $form.Text = $XmlFile $form.Width = 500 $form.Height = 400 #===== DataGridViewの作成 ===== $dgvXML = New-Object System.Windows.Forms.DataGridView $dgvXML.Dock = [System.Windows.Forms.DockStyle]::Fill $dgvXML.DataSource = $dtSet.Tables[0] $form.Controls.Add($dgvXML) #===== Panelの作成 ===== $panel1 = New-Object System.Windows.Forms.Panel $form.Controls.Add($panel1) $panel1.Dock = [System.Windows.Forms.DockStyle]::Bottom $panel1.Height = 30 #===== [閉じる]ボタンの作成 ===== $btnClose = New-Object System.Windows.Forms.Button $btnClose.Location = New-Object System.Drawing.Point(405, 4) $btnClose.Text = "閉じる" $btnClose.anchor = [System.Windows.Forms.AnchorStyles]::Top -bor [System.Windows.Forms.AnchorStyles]::Right $btnClose.Add_Click({$form.Close()}) $panel1.Controls.AddRange($btnClose) #===== Formを表示 ===== $form.ShowDialog() }
|
使用方法は関数名の後に、GUIで確認したいXMLファイルを指定します。
使用例
PS> View-Xml "XMLファイルのパス"
|
ポイントは
・データセットを作成して、XMLファイルを読み込む
$dtSet = New-Object System.Data.DataSet
$dtSet.ReadXml($XmlFile)
・データセットをDataGridViewに連結する
$dgvXML.DataSource = $dtSet.Tables[0]
・anchorプロパティ
anchorプロパティは -bor 演算子を使うとうまくいきます。(-or演算子は試してみたところダメでした)
-bor はビットごとのOR演算を行います。
です。