【发布时间】:2016-07-21 05:08:02
【问题描述】:
我有一个 xml 文件,如下所示,
<data>
<fields>
<artifacts>
<artifact AL="68" CL="4" DL="0">
</artifact>
<artifact AL="86" CL="2" DL="1">
</artifact>
<artifact AL="34" CL="7" DL="0">
</artifact>
<artifact AL="18" CL="1" DL="3">
</artifact>
</artifacts>
<dart>
<bug>
<fields part="Major">Yes</fields>
<fields part="Major">Yes</fields>
<fields part="Major">No</fields>
</bug>
</dart>
</fields>
</data>
我希望 PowerShell 读取 XML 文件并给出计算每个 XML 属性标签的总行数 (TL = AL + DL + CL),并仅列出缺陷“主要”等于是。
这是我尝试过的:
$xmlfile = Get-Content C:\Cdb\Cdb.xml
foreach($line in $xmlfile)
{
[xml]$xml = Get-Content $line
$linesadded = $xml.data.fields.artifacts.artifact | Select AL
$lineschanged = $xml.data.fields.artifacts.artifact | Select CL
$linesdeleted = $xml.data.fields.artifacts.artifact | Select AL
$totalchangedlines = "$linesadded't$lineschanged't$linesdeleted";
echo $totalchangedlines
<#echo $linesadded#>
$major = $xml.data.fields.dart.bug.fields
$majnumber = 0;
if ($major -eq "Yes")
{
$majnumber += [int]$major;
}
}
如果我使用,结果将出现在下面一行
PS> echo $lines added 添加行 ------------ 68 86 34 18
但是如果我给echo $totalchangedlines,输出不会正确。最好放在表格列中。
【问题讨论】:
-
输出应该是单独的 TL 和缺陷计数(基于主要)
-
欢迎来到 StackOverflow!这不是脚本编写服务。到目前为止,您尝试过什么?
-
请更新原始问题(使用
editlink),不要在cmets中发布代码:) -
嗨 Jessen,谢谢,我是新手...我已经更新了我尝试过的内容
-
这里是一个起点
[xml]$xmlfile = Get-Content C:\Cdb\Cdb.xml然后你可以浏览那个xml对象。
标签: xml powershell powershell-3.0