我的XML看起来类似于以下嵌套的foreach语句解析XML
<Settings>
<CentralOnly>
<DateLists>
<DateList Name="name1" ID="1">
<Date>*-01-01</Date>
<Date>*-12-25</Date>
<Date>2007-05-28</Date>
<Date>2007-09-03</Date>
</DateList>
<DateList Name="name2" ID="2">
<Date>2008-11-11</Date>
<Date>2008-11-27</Date>
</DateList>
<DateList Name="name3" ID="3">
<Date>2008-03-21</Date>
<Date>2010-04-02</Date>
</DateList>
</DateLists>
</CentralOnly>
</Settings>
的最终目标是把这个到SQL Server 2008 R2数据库。我现在做这个(不好)的模式与每一列被写入到一个单独的文本文件
dateID.txt | specificDate.txt
1 | *-01-01
1 | *-12-25
1 | 2007-05-28
1 | 2007-09-03
2 | 2008-11-11
2 | 2008-11-27
3 | 2008-03-21
2 | 2010-04-02
下面我相信这是正确的轨道做在时装上的代码(它尚未工作)。但是一定有办法,我可以用一个文件做这个,也许是一个csv?
set-executionpolicy unrestricted
[xml]$config = Get-Content c:\path\config.xml
new-item c:\path\dlDays.txt -type file -force
new-item c:\path\dlDLID.txt -type file -force
$xml = $config.settings.DateLists.DateList | % $_.DateList{
$dateID = $_.id
$eachDate = $_.date | % $_.date{
$specificDate = $_.date
add-content c:\path\dlDays.txt $specificDate
add-content c:\path\dlDLID.txt $dateID
}
}
为了理解这个问题,你试图从xml文件中提取日期id和特定日期,然后导入到SQL Server中? – Wade73
这是正确的。我的任务是以某种方式将XML中的数据转换为sql。我对PowerShell有点熟悉,所以似乎是最好的方法 – mhopkins321
嗯,我用powershell从响应xml文件中获取错误。这比使用VB.Net或C#更容易。我不能说Ruby或Python。让我看看我能做些什么。 – Wade73