0
PowerShell 2.0에서 XML을 읽는 스크립트를 작성했습니다 ... 간단합니다. Howver, 내가 가지고있는 문제는 클라이언트가 두 가지 형식으로 동일한 XML을 보내는 것입니다 (아래 참조). 내가 처음 개발을 시작했을 때 나는 단지 내 파워 쉘 코드처럼 보였다 그래서 형식 1. 파일을했다 :PowerShell에서 다른 형식의 XML 파일 읽기
이제[xml]$private:xmlFile = Get-Content $File
$private:Request = $xmlFile.Request
$Request.Action # returns Initialization
그것이 내가 $ Request.Action.InnerText 또는 사용이 필요하기 때문에 내 코드는 형식이 작동하지 않습니다 $ 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>