1

したがって、次のような単純なXMLドキュメントがあるとします。

<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必ずしもフルパスを指定せずに要素を選択するための適切な構文を知っている人はいますか?

4

1 に答える 1

1

要素は名前空間にあるため、その名前空間で要素を検索する必要があります。Googleの「XPathデフォルト名前空間」は、1番目のFAQです。

于 2012-05-08T16:57:06.907 に答える