Xml Powershell xpath-获取两个属性的值
我试图得到以下两个属性的值Xml Powershell xpath-获取两个属性的值,xml,powershell,xpath,text,return,Xml,Powershell,Xpath,Text,Return,我试图得到以下两个属性的值 和 但我只能得到一个或另一个值,不能同时得到两个值…: [xml]$xml = Get-Content "$AttributesFile" $Xml | Select-Xml -XPath "//ATTRIBUTE[@name='r_creation_date']" | foreach {$_.node.InnerXML} <![CDATA[4/7/2016 6:18:42 PM]]> <![CDATA[4/9/2016 6:18:42
和
但我只能得到一个或另一个值,不能同时得到两个值…:
[xml]$xml = Get-Content "$AttributesFile"
$Xml | Select-Xml -XPath "//ATTRIBUTE[@name='r_creation_date']" | foreach {$_.node.InnerXML}
<![CDATA[4/7/2016 6:18:42 PM]]>
<![CDATA[4/9/2016 6:18:42 PM]]>
[xml]$xml=获取内容“$AttributesFile”
$Xml |选择Xml-XPath”//ATTRIBUTE[@name='r_creation_date']”| foreach{$\uu.node.InnerXML}
我如何得到以下结果呢
<![CDATA[D:\test\overview_1.0.doc]]>
<![CDATA[4/7/2016 6:18:42 PM]]>
<![CDATA[D:\test\Letter.docx]]>
<![CDATA[4/9/2016 6:18:42 PM]]>
以下是我正在使用的XML:
<EXTRACT path="D:\test\">
<DOCBASE name="xdocs" />
<VERSION>
<DOCUMENT name="overview.doc" chronicle_id="09028bf4807d6da5" objectId="09028bf4807d6da5" implicitVersionLabel="1.0">
<ATTRIBUTE name="docbasePath"></ATTRIBUTE>
<ATTRIBUTE name="exportPath"><![CDATA[D:\test\overview_1.0.doc]]></ATTRIBUTE>
<ATTRIBUTE name="r_creation_date"><![CDATA[4/7/2016 6:18:42 PM]]></ATTRIBUTE>
<ATTRIBUTE name="edo_creation_date"><![CDATA[nulldate]]></ATTRIBUTE>
<ATTRIBUTE name="edo_import_date"><![CDATA[nulldate]]></ATTRIBUTE>
</DOCUMENT>
</VERSION>
<VERSION>
<DOCUMENT name="Letter.docx" chronicle_id="09028bf4807e65c5" objectId="09028bf4807e65c5" implicitVersionLabel="1.0">
<ATTRIBUTE name="docbasePath"></ATTRIBUTE>
<ATTRIBUTE name="exportPath"><![CDATA[D:\test\Letter.docx]]></ATTRIBUTE>
<ATTRIBUTE name="r_creation_date"><![CDATA[4/9/2016 6:18:42 PM]]></ATTRIBUTE>
<ATTRIBUTE name="edo_creation_date"><![CDATA[nulldate]]></ATTRIBUTE>
<ATTRIBUTE name="edo_import_date"><![CDATA[nulldate]]></ATTRIBUTE>
</DOCUMENT>
</VERSION>
</EXTRACT>
尝试将xpath表达式更改为
//属性[@name='r\u creation\u date'或@name='exportPath']
尝试将xpath表达式更改为
//属性[@name='r\u creation\u date'或@name='exportPath']
可能类似
$xml | Select-Xml -XPath "//ATTRIBUTE[@name='r_creation_date']" |
ForEach-Object {
$_.Node.PreviousSibling.InnerXml
$_.node.InnerXML
}
(适用于给定的XML)可能类似于
$xml | Select-Xml -XPath "//ATTRIBUTE[@name='r_creation_date']" |
ForEach-Object {
$_.Node.PreviousSibling.InnerXml
$_.node.InnerXML
}
(适用于给定的XML)您应该将第二个
@name
的引号更改为'
。否则,它将与周围的引用冲突。顺便说一句+1@zx485-你比我快了30秒!您应该将第二个@name
的引号更改为'
。否则,它将与周围的引用冲突。顺便说一句+1@zx485-你比我快了30秒!