我试着用powershell和xml做一些非常简单的事情,但没有一点麻烦.基本上我正在尝试使用以下xml ...并按名称对机器元素进行排序.然后将它们放回XML中,以便我可以保存回文件.
如果输出$ new对象,排序似乎有效,但是在替换它期间它抱怨"无法转换参数"0",值为:"System.Object []"for"ReplaceChild"键入"System.Xml.XmlNode": "无法将"System.Object []"转换为"System.Xml.XmlNode"类型.
如果我在$ orig和$ new上都有一个Get-Member,他们都说它们是XMLElement类型,我认为它继承自XMLNode.
我想念的是什么人?使我抓狂.谢谢你的帮助!
<company>
<stuff>
</stuff>
<machines>
<machine>
<name>ca</name>
<b>123</b>
<c>123</c>
</machine>
<machine>
<name>ad</name>
<b>234</b>
<c>234</c>
</machine>
<machine>
<name>be</name>
<b>345</b>
<c>345</c>
</machine>
</machines>
<otherstuff>
</otherstuff>
</company>
[xml]$xml = (get-content Company.xml)
[XmlNode]$orig = $xml.Company.Machines
[XmlNode]$new = ($orig.Machine | sort Name )
$xml.Company.ReplaceChild($new, $orig)
Run Code Online (Sandbox Code Playgroud) 为什么函数外部的Write-Host与函数内部的工作不同?
似乎某种程度上参数变量正在从我声明的变化......
function a([string]$svr, [string]$usr) {
$x = "$svr\$usr"
Write-Host $x
}
$svr = 'abc'
$usr = 'def'
$x = "$svr\$usr"
Write-Host $x
a($svr, $usr)
Run Code Online (Sandbox Code Playgroud)
结果...
ABC\DEF
abc def \
所以我一直在寻找sql server数据工具(ssdt)并看到一些信息表明它可以与Microsoft数据库项目持续集成,我只是想知道是否有人在实践中实际上是这样做的.
dacpac方法看起来非常吸引人,并且在第一次尝试时似乎可行但不确定.使用最新的ssdt查看visual Studio 2013.
谢谢!