19

xmlファイルからいくつかの情報を抽出し、必要に応じてアプリプールを更新/作成しようとしています。これが私が読んでいるxmlです:

<?xml version="1.0" encoding="utf-8"?>
<appPool name="MyAppPool">
  <enable32BitAppOnWin64>true</enable32BitAppOnWin64>
  <managedPipelineMode>Integrated</managedPipelineMode>
  <managedRuntimeVersion>v4.0</managedRuntimeVersion>
  <autoStart>true</autoStart>
</appPool>

これが私がそれでやろうとしていることです:

#read in the xml
$appPoolXml = [xml](Get-Content $file)

#get the name of the app pool
$name = $appPoolXml.appPool.name

#iterate over the nodes and update the app pool
$appPoolXml.appPool.ChildNodes | % {
     #this is where the problem exists
     set-itemproperty IIS:\AppPools\$name -name $_.Name -value $_.Value
}

$_.Nameenable32BitAppOnWin64正しいノードの名前(つまり)を返しますが、.Valueプロパティは何も返しません。必要なデータを抽出するにはどうすればよいですか?

4

1 に答える 1

25

正解:

$_.'#text'の代わりに必要です$_.Value

オブジェクトのInnerTextプロパティを使用するこれも考慮してください。System.Xml.XmlElement

$ xml.appPool.ChildNodes | %{$ .Name; $ .InnerText};

于 2012-06-01T16:33:03.640 に答える