1

PowerShell /xmlの初心者はこちら....Nugetパッケージの一部としてPowerShellを使用して、空のxmlノードを追加または削除しようとしています。xmlファイルの形式は次のとおりです。

<Root>
    <service name="first">
        <item>
        </item>
    </service>
    <service name ="second">
        <item>
        </item>
    </service>
</Root>

まず、スクリプトでサービスの1つを選択し、それを変数として保存します。たとえば、ユーザーがサービス1....を選択したい場合などです。

if ($xml.Root.service.name -eq $serviceName)
{
         $myService = $xml.Root.service
}

問題は後であります、私はノードに要素を追加する/ノードを削除する必要があります...私は次のようなものを持っています

    $newNode = $xml.CreateElement('new'...
    .........

    $empty = $myService.SelectSingleNode('./item')
    $empty.PrependChild($newNode)

しかし、私はこの方法を機能させることができません。

任意の提案をいただければ幸いです...

4

1 に答える 1

4

これはあなたを助けるはずです。

# Get an XML document
$MyXml = [xml]'<?xml version="1.0" encoding="utf-8"?><root><service name="foo"><item></item></service></root>';
# Create a new element from the XmlDocument object
$NewElement = $MyXml.CreateElement('new');
# Select the element that we're going to append to
$ServiceElement = Select-Xml -Xml $MyXml -XPath '/root/service[@name="foo"]/item';
# Append the 'new' element to the 'item' element
$ServiceElement.AppendChild($NewElement);
# Echo the OuterXml property of the $MyXml variable to verify changes
Write-Host -Object $MyXml.OuterXml;
# Save the XML document
$MyXml.Save('c:\test.xml');
于 2012-05-23T22:24:48.173 に答える