我编写了一个脚本来读取PowerShell 2.0中的XML ...简单没问题。不过,我遇到的问题是客户端以两种不同的格式发送相同的XML(见下文)。当我最初开始开发时,我只有一个格式为1的文件。所以我的powershell代码看起来像:
[xml]$private:xmlFile = Get-Content $File
$private:Request = $xmlFile.Request
$Request.Action # returns Initialization
现在我的代码不能使用格式2,因为它要求我使用$ Request.Action.InnerText或$ Request.Action。' #ntext'
任何人都知道能够处理这两种xml格式的简单方法吗?
格式1(在root中定义的名称空间):
<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>
答案 0 :(得分:0)
我最终创建了一个函数来处理可以解析xml节点数据的各种方法。
由于