2016-10-06 1 views
0

の私はこのXMLを持って言う:PowerShellの - インデックスのリターンノードは、種類にかかわらず

$xml = [xml]@' 
    <messages> 
     <message name="Advertisement" msgtype="7" msgcat="app"> 
     <field name="AdvId" required="Y" /> 
     <field name="AdvTransType" required="Y" /> 
     <field name="AdvRefID" required="N" /> 
     <component name="Instrument" required="Y" /> 
     <component name="Balls" required="Y" /> 
     <field name="AdvSide" required="Y" /> 
     <field name="Quantity" required="Y" /> 
     </message> 
    </messages> 
'@ 

私は以下の結果を期待、しかし何も返されません。

$xml.messages.message[1] # should return <field name="AdvTransType" required="Y" /> 
$xml.messages.message[3] # should return <component name="Instrument" required="Y" /> 

は、私は機能があります行方不明?私は、インデックスを経由してノードにアクセスしたい...

PowerShellのバージョン:6.0.0 alpha

+0

DERP:タイプに関係なく、特別なプロパティChildNodesを使用インデックスによってサブノードにアクセスする

。ありがとう@wOxxOm !!私の質問のためにあなたに直接pingをしてください:)。答えを作成すると、私はそれを受け入れます。 – daino3

答えて

1

は、指定されたノードの配列を返すのでmessage[1]は、第二messageを意味あなたはmessageしか持っていません。

$xml.messages.message.ChildNodes[1] 
name   required 
----   -------- 
AdvTransType Y 
0

それを試してみてください:ノード表記という名前のXMLツリーで

$xml.messages.message.field[1] 
$xml.messages.message.field[2] 
+0

質問のタイトルに「種類に関係なく」と表示されます。 – wOxxOm

関連する問題