我的sample.xml文件位于
之下<deployment>
<definition type="xpath">
<xpath>configuration/Settings/add[@key='NetworkPath'][@value]</xpath>
<attribute>value</attribute>
<value>http://www.google.com</value>
</definition>
</deployment>
我想获取值&#34; http://www.google.com&#34;对应xpath&#34;配置/设置/添加[@key =&#39; NetworkPath&#39;] [@ value]&#34;。我正在写下XmlPeek任务,但它无法正常工作
<XmlPeek XmlInputPath="C:\Sample.xml"
Query="configuration/Settings/add[@key='NetworkPath'][@value]">
<Output TaskParameter="Result" ItemName="Peeked" />
</XmlPeek>
<Message Text="Peeked value is @(Peeked)"/>
答案 0 :(得分:1)
XPath可能存在一些混淆。
如果您想从Sample.xml检索httpsp://www.google.com,则需要应用此查询:
<XmlPeek XmlInputPath="Sample.xml"
Query="/deployment/definition/value/text()">
<Output TaskParameter="Result" ItemName="Peeked" />
</XmlPeek>
如果要提取路径configuration/Settings/add[@key='NetworkPath'][@value]/@value
,它对应于具有此格式的另一个Xml文件:
<configuration>
<Settings>
<add key="NetworkPath" value="http://www.google.com"/>
</Settings>
</configuration>
查看一些XPath examples。