0
我已經編寫了一個腳本來讀取PowerShell 2.0中的XML ......簡單沒問題。不過,我遇到的問題是客戶端發送2種不同格式的相同XML(見下文)。當我最初開始開發我只有在格式1文件中,以便我的PowerShell代碼看起來像:在PowerShell中讀取不同格式的XML文件
[xml]$private:xmlFile = Get-Content $File
$private:Request = $xmlFile.Request
$Request.Action # returns Initialization
現在,因爲它需要我用$ Request.Action.InnerText或我的代碼不格式2工作$ Request.Action。'#ntext'
任何人都知道一個簡單的方法能夠處理這兩種XML格式?
格式1(在根定義的命名空間):
<temp:Request xmlns:ext="http://...">
<ext:FileInformation>
<ext:FileDetailsMetadata>
<core:TransmissionID>TransmissionID0</core:TransmissionID>
<core:SenderID>SenderID</core:SenderID>
<core:ReceiverID>ReceiverID</core:ReceiverID>
</ext:FileDetailsMetadata>
<ext:Action>Initialization</ext:Action>
</ext:FileInformation>
</temp:Request>
格式2(在每個節點定義的命名空間):
<temp:Request xmlns:temp="http://...">
<ext:FileInformation xmlns:ext="http://...">
<ext:FileDetailsMetadata>
<ns2:TransmissionID xmlns:ns2="http://...">TransmissionId</ns2:TransmissionID>
<ns2:SenderID xmlns:ns2="...">SenderID</ns2:SenderID>
<core:ReceiverID xmlns:core="http://...">930989307</core:ReceiverID>
</ext:FileDetailsMetadata>
<ns3:Action xmlns:ns3="http://...">Initialization</ns3:Action> </ext:FileInformation>
</temp:Request>