Так скажем, у меня есть простой XML-документ, как это:XPath // оператор не работает
<a>
<b>
<c>blah</c>
<c>blah</c>
<d>blargh</d>
</b>
</a>
Я хочу, чтобы выбрать «C» элементы.
Вот что я считаю, должны работать:
Select-Xml -Xml $XmlDoc -XPath '//c';
Хотя этот пример сам по себе работает, это похоже концепция ничего не возвращает в этом XML-документ:
<?xml version="1.0" encoding="utf-8"?>
<Response xmlns="http://schemas.microsoft.com/search/local/ws/rest/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Copyright>Copyright © 2012 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.</Copyright>
<BrandLogoUri>http://dev.virtualearth.net/Branding/logo_powered_by.png</BrandLogoUri>
<StatusCode>200</StatusCode>
<StatusDescription>OK</StatusDescription>
<AuthenticationResultCode>ValidCredentials</AuthenticationResultCode>
<TraceId>985236ecd4b04793ac26f72a218a3876|LAXM001505|02.00.127.100|</TraceId>
<ResourceSets>
<ResourceSet>
<EstimatedTotal>1</EstimatedTotal>
<Resources>
<TrafficIncident>
<Point>
<Latitude>41.82048</Latitude>
<Longitude>-88.20378</Longitude>
</Point>
<IncidentId>1</IncidentId>
<LastModifiedUTC>2012-05-01T16:17:15.663Z</LastModifiedUTC>
<StartTimeUTC>2011-05-01T19:46:00Z</StartTimeUTC>
<EndTimeUTC>2012-11-11T14:00:00Z</EndTimeUTC>
<Type>Construction</Type>
<Severity>Minor</Severity>
<Verified>true</Verified>
<RoadClosed>false</RoadClosed>
<Description>description here</Description>
<DetourInfo />
<LaneInfo>lane blockages possible</LaneInfo>
<CongestionInfo />
</TrafficIncident>
</Resources>
</ResourceSet>
</ResourceSets>
</Response>
Кто-нибудь знает правильный синтаксис для выбора TrafficIncident
элементов без указания полного пути?
Это все, что вам нужно, чтобы получить узлы c. –
http://huddledmasses.org/xpath-and-namespaces-in-powershell/ – mzjn
Вы, очевидно, забываете пространства имен ;-) – Joey