我要选择带有注释行的模块。
<modules>
<module>com.umut.web</module><!--auto-->
<module>com.umut.oaservice</module>
<module>com.umut.signaturephotoservice</module>
</modules>
powershell代码=
[string]$modules=""
foreach ($module in $xmlFile.project.modules.module) {
Write-Output $module.'#comment'
}
答案 0 :(得分:4)
我认为您要问的是如何在xml中直接找到实际上在其后面具有注释元素的<module>
,对吗?
在这种情况下,可以执行以下操作:
[xml]$xmlFile = @"
<project>
<modules>
<module>com.umut.web</module>
<module>com.umut.oaservice</module><!--auto-->
<module>com.umut.signaturephotoservice</module>
</modules>
</project>
"@
foreach ($node in $xmlFile.project.modules.ChildNodes) {
if ($node.NodeType -eq 'Comment') {
# if this comment node following a childnode within 'modules'
if ($node.PreviousSibling) {
[PSCustomObject]@{
'module' = $node.PreviousSibling # the module element (System.Xml.XmlElement object)
'moduleText' = $node.PreviousSibling.InnerText # the text inside this module element
'comment' = $node # the comment element (System.Xml.XmlComment)
'commentText' = $node.InnerText # the text inside the comment
}
break
}
}
}
它发出带有四个属性的PSCustomObject,如果搜索未产生任何结果,则不显示任何内容。
module moduleText comment commentText ------ ---------- ------- ----------- module com.umut.oaservice #comment auto
答案 1 :(得分:0)
我认为您在io
中的水平过高。
该怎么办?
fiber