在Windows Server 2003中使用PowerShell读取xml文件
问题描述:
请问您可以使用下面的代码来帮助我吗?在Windows Server 2003中使用PowerShell读取xml文件
[System.Xml.XmlDocument]$xd = New-Object System.Xml.XmlDocument
$file = "C:\PS\SetUP.xml";
$xd.LoadXml($file);
#$root = $xd.DocumentElement
Write-Host $xd.SelectSingleNode("/Setup").Attributes.GetNamedItem("WebAppUrl").Value
此代码工作正常,当我在Windows Server 2008中运行它,但它不会在Windows Server 2003
我测试了它在C#中的相同的环境中工作(赢服务器2003年),作品,但不是在Powershell中。
我认为可能会出现一些Powershell版本问题。
你能帮我吗?
谢谢
xml文档
<?xml version="1.0" encoding="utf-8"?>
<Setup WebAppUrl="http://sp2007">
<SiteCollection Name="Report" Url="Report Requests">
<Lists>
<List Name="Report Requests" Url="ReportRequests" />
<List Name="Report Request Tasks" Url="ReportRequestTasks" />
</Lists>
<Features>
<Feature>ContentTypeSyndication</Feature>
</Features>
<Site Name="Child 1" Url="child1" Template="STS#0"/>
<Site Name="Child 2" Url="child2" Template="STS#0"/>
<Site Name="Child 3" Url="child3" Template="STS#0"/>
</SiteCollection>
</Setup>
答
我没有V1,但你可以读取XML文件,无论操作系统版本浏览他们以同样的方式。你能分享这个XML文件吗?
[xml]$xd = Get-Content C:\PS\SetUP.xml
$xd.SelectSingleNode("/Setup").WebAppUrl
http://sp2007
如果只有一个安装点,那么你可以得到价值:
$xd.Setup.WebAppUrl
答
Windows 2003的PowerShell的版本是1
在Windows 2008上的版本是2
链接:http://en.wikipedia.org/wiki/Windows_PowerShell#Versions
就这么简单。您可以尝试升级它AFAIK。
编辑:更新程序 - >http://maxt2posh.wordpress.com/2009/12/23/update-powershell-v1-to-v2-windows-management-framework/
我必须结合2007年的Sharepoint 使用它我插入上面 – 2012-07-27 10:15:39
xml文件我更新了我的答案,试一试(你的write-host命令应该输出相同的结果)。 – 2012-07-27 10:47:35
谢谢谢谢你的帮助。还有一件事,我如何获得每个List元素的属性? – 2012-07-27 11:02:06