2012-07-27 69 views
0

请问您可以使用下面的代码来帮助我吗?在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> 

回答

0

我没有V1,但你可以读取XML文件,无论操作系统版本浏览他们以同样的方式。你能分享这个XML文件吗?

[xml]$xd = Get-Content C:\PS\SetUP.xml 
$xd.SelectSingleNode("/Setup").WebAppUrl 

http://sp2007 

如果只有一个安装点,那么你可以得到价值:

$xd.Setup.WebAppUrl 
+0

我必须结合2007年的Sharepoint 使用它我插入上面 – 2012-07-27 10:15:39

+0

xml文件我更新了我的答案,试一试(你的write-host命令应该输出相同的结果)。 – 2012-07-27 10:47:35

+0

谢谢谢谢你的帮助。还有一件事,我如何获得每个List元素的属性? – 2012-07-27 11:02:06