ホーム インターネット PowerShell を使用したさらに多くの XML

PowerShell を使用したさらに多くの XML

先月のコラムでは、いくつかの基本的な PowerShell スクリプトを使用して、XML のより単純な側面のいくつかを説明しました。今月のコラムでは、XML で PowerShell を使用する方法をもう少し詳しく説明します。
先月、次のように PowerShell コマンド ラインを入力して XML DOM ドキュメントを作成できることを覚えているかもしれません。
$orderdoc = [xml] (カタログ D:XmlOrder.xml)
これは、order.xml というファイルがフォルダー D:Xml にすでに存在し、ファイルに含まれる XML が有効であることを前提としています。有効なファイルが作成されました。このファイルは www.pcpro.co.uk/links/151dotnet にあります。
以下のスクリーンショットでは、フリーウェア ユーティリティ XMLPad を使用して表示されたこの XML ドキュメントを確認できます。 WMHelp ( www.wmhelp.com ) によって開発された XMLPad は、特に無料であるため、XML を操作する場合に最も便利なツールです。ご覧のとおり、XML ファイルにはルート ノードが含まれています。 、2 つのサブノードがあります – そして – どちらにも独自のサブノードがあります。先月述べたように、PowerShell を使用して特定のノードに直接アドレス指定できるため、顧客名を取得するには $OrderDoc.Order.Orderheader.Customername と入力するだけで済み、顧客番号を取得するには $OrderDoc.Order を指定します。オーダーヘッダー.顧客ID。 XML タグでは大文字と小文字が区別されるため、開始タグが必要です そして終了タグ エラーが発生します。 開いたままになっています。 XML では大文字と小文字が区別されますが、PowerShell では区別されません。つまり、顧客 ID を取得する前の例では、$orderdoc.order.orderheader.customerID または $ORDERDOC.ORDER.ORDERHEADER.CUSTOMERID (またはその他の組み合わせ) を指定できます。大文字の使用)。したがって、安全面を考慮して、PowerShell コード内での混乱を避けるために、XML で指定されているのと同じノード名を使用すること (大文字と小文字を区別する) を一般的にお勧めします。
XMLドキュメントの更新
PowerShell を使用した XML オーダー ドキュメントの更新は、.NET XML ドキュメント オブジェクト タイプと XML 要素 オブジェクト タイプを使用することで簡単に行うことができます。次のコードは、既存の注文を読み取り、注文に新しい行を追加し、更新された注文を新しいファイルに書き込みます。
#Addline.ps1 – d:fooorder.xml に注文する注文明細を追加します。
# 順序を d:foo に書き込みます
eworder.xml
# ステップ 1 – メモリ内にドキュメントを作成する
$doc=[xml] (cat d:fooorder.xml)
# ステップ 2 – 注文明細要素を作成する
$ol=$doc.CreateElement(“OrderLine”)
# ステップ 3 – サブアイテムを作成して設定する
$Item = $doc.CreateElement(“アイテムID”)
$item.Set_InnerText(“876543”)
$Itemd = $doc.CreateElement(“ItemDescription”)
$itemd.Set_InnerText(“非表示のウィジェット”)
$Numowned = $doc.CreateElement(“NumberOrdered”)
$numOrdered.Set_InnerText(“21”)
$Price = $doc.CreateElement(“価格”)
$price.Set_Innertext(“321.12”)
# ステップ 4 – オーダーラインを構築します
$ol.AppendChild($item)
$ol.AppendChild($itemd)
$ol.AppendChild($numowned)
$ol.AppendChild($price)
# ステップ 5 最後に、注文明細を注文に追加します。
$doc.order.orderlines.appendchild($ol)
#ステップ 6 – ドキュメントを保存します。
$doc.save(“d:fooNeworder.xml”)
注文明細を追加するには 6 つの手順があります。まず、ドキュメントが開かれ、$doc に割り当てられます。これは、XML ドキュメントが適切に形成されている場合にのみ成功しますが、簡単にするために、XML 内のエラーから回復するためのエラー処理コードを省略していることに注意してください。ステップ 2 では、新しい注文明細を表す $ol という新しい空の XML 要素を作成します。この要素は、XML ドキュメントの CreateElement メソッドを使用して作成されます。ステップ 3 では、CreateElement メソッドを使用して、注文明細行のコンポーネント要素 ($item、$itemd、$numowned、および $price) を作成します。 Set_InnerText メソッドは、これらの各コンポーネント要素に値を割り当てるために使用されます。ステップ 4 では、これらの個々のコンポーネントが $ol 値に追加され、完全な新しい注文明細が作成されます。ステップ 5 では、この新しい注文明細要素が注文文書の orderline 要素に追加され、最後にステップ 6 で、更新された注文が (d:foo) という新しいファイルに書き戻されます。

「PowerShell を使用したさらに多くの XML」に関するベスト動画選定!

PowerShellとは?メリットやできることをわかりやすく解説
【プログラミング入門】PowerShell【Excel操作編】 ざっくりわかるプログラミング講座
先月のコラムでは、いくつかの基本的な PowerShell スクリプトを使用して、XML のより単純な側面のいくつかを説明しました。今月のコラムでは、XML で PowerShell を使用する方法をもう少し詳しく説明します。
先月、次のように PowerShell コマンド ラインを入力して XML DOM ドキュメントを作成できることを覚えているかもしれません。
$orderdoc = [xml] (カタログ D:XmlOrder.xml)
これは、order.xml というファイルがフォルダー D:Xml にすでに存在し、ファイルに含まれる XML が有効であることを前提としています。有効なファイルが作成されました。このファイルは www.pcpro.co.uk/links/151dotnet にあります。
以下のスクリーンショットでは、フリーウェア ユーティリティ XMLPad を使用して表示されたこの XML ドキュメントを確認できます。 WMHelp ( www.wmhelp.com ) によって開発された XMLPad は、特に無料であるため、XML を操作する場合に最も便利なツールです。ご覧のとおり、XML ファイルにはルート ノードが含まれています。 、2 つのサブノードがあります – そして – どちらにも独自のサブノードがあります。先月述べたように、PowerShell を使用して特定のノードに直接アドレス指定できるため、顧客名を取得するには $OrderDoc.Order.Orderheader.Customername と入力するだけで済み、顧客番号を取得するには $OrderDoc.Order を指定します。オーダーヘッダー.顧客ID。 XML タグでは大文字と小文字が区別されるため、開始タグが必要です そして終了タグ エラーが発生します。 開いたままになっています。 XML では大文字と小文字が区別されますが、PowerShell では区別されません。つまり、顧客 ID を取得する前の例では、$orderdoc.order.orderheader.customerID または $ORDERDOC.ORDER.ORDERHEADER.CUSTOMERID (またはその他の組み合わせ) を指定できます。大文字の使用)。したがって、安全面を考慮して、PowerShell コード内での混乱を避けるために、XML で指定されているのと同じノード名を使用すること (大文字と小文字を区別する) を一般的にお勧めします。
XMLドキュメントの更新
PowerShell を使用した XML オーダー ドキュメントの更新は、.NET XML ドキュメント オブジェクト タイプと XML 要素 オブジェクト タイプを使用することで簡単に行うことができます。次のコードは、既存の注文を読み取り、注文に新しい行を追加し、更新された注文を新しいファイルに書き込みます。
#Addline.ps1 – d:fooorder.xml に注文する注文明細を追加します。
# 順序を d:foo に書き込みます
eworder.xml
# ステップ 1 – メモリ内にドキュメントを作成する
$doc=[xml] (cat d:fooorder.xml)
# ステップ 2 – 注文明細要素を作成する
$ol=$doc.CreateElement(“OrderLine”)
# ステップ 3 – サブアイテムを作成して設定する
$Item = $doc.CreateElement(“アイテムID”)
$item.Set_InnerText(“876543”)
$Itemd = $doc.CreateElement(“ItemDescription”)
$itemd.Set_InnerText(“非表示のウィジェット”)
$Numowned = $doc.CreateElement(“NumberOrdered”)
$numOrdered.Set_InnerText(“21”)
$Price = $doc.CreateElement(“価格”)
$price.Set_Innertext(“321.12”)
# ステップ 4 – オーダーラインを構築します
$ol.AppendChild($item)
$ol.AppendChild($itemd)
$ol.AppendChild($numowned)
$ol.AppendChild($price)
# ステップ 5 最後に、注文明細を注文に追加します。
$doc.order.orderlines.appendchild($ol)
#ステップ 6 – ドキュメントを保存します。
$doc.save(“d:fooNeworder.xml”)
注文明細を追加するには 6 つの手順があります。まず、ドキュメントが開かれ、$doc に割り当てられます。これは、XML ドキュメントが適切に形成されている場合にのみ成功しますが、簡単にするために、XML 内のエラーから回復するためのエラー処理コードを省略していることに注意してください。ステップ 2 では、新しい注文明細を表す $ol という新しい空の XML 要素を作成します。この要素は、XML ドキュメントの CreateElement メソッドを使用して作成されます。ステップ 3 では、CreateElement メソッドを使用して、注文明細行のコンポーネント要素 ($item、$itemd、$numowned、および $price) を作成します。 Set_InnerText メソッドは、これらの各コンポーネント要素に値を割り当てるために使用されます。ステップ 4 では、これらの個々のコンポーネントが $ol 値に追加され、完全な新しい注文明細が作成されます。ステップ 5 では、この新しい注文明細要素が注文文書の orderline 要素に追加され、最後にステップ 6 で、更新された注文が (d:foo) という新しいファイルに書き戻されます。

「PowerShell を使用したさらに多くの XML」に関するベスト動画選定!

PowerShellとは?メリットやできることをわかりやすく解説
【プログラミング入門】PowerShell【Excel操作編】 ざっくりわかるプログラミング講座

最新記事一覧