ASP.NET 1.1 - эквивалент XPathNavigator OuterXml - PullRequest
1 голос
/ 25 августа 2011

Я работаю с Google Maps API, чтобы выполнить поиск GeoCode в версии 1.1, и работаю над кирпичной стеной с объектом XPathNavigator.

Мне нужно создать «суб-навигатор», чтобымы можем выполнить глобальный поиск по xpath для узлов (например, // adr: PostalCodeNumber), поскольку схема xml изменяется в зависимости от точности возвращаемого адреса.

Вот пример ответа:

    <kml xmlns="http://earth.google.com/kml/2.0"><Response>
     <name>2601 S. McKenzie Street </name>
      <Status>
       <code>200</code>
       <request>geocode</request>
      </Status>
      <Placemark id="p1">
       <address>2601 S McKenzie St, Foley, AL 36535, USA</address>
       <AddressDetails Accuracy="8" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><Country><CountryNameCode>US</CountryNameCode><CountryName>USA</CountryName><AdministrativeArea><AdministrativeAreaName>AL</AdministrativeAreaName><Locality><LocalityName>Foley</LocalityName><Thoroughfare><ThoroughfareName>2601 S McKenzie St</ThoroughfareName></Thoroughfare><PostalCode><PostalCodeNumber>36535</PostalCodeNumber></PostalCode></Locality></AdministrativeArea></Country></AddressDetails>
<ExtendedData>
  <LatLonBox north="30.3733653" south="30.3706673" east="-87.6817548" west="-87.6844528" />
</ExtendedData>
<Point><coordinates>-87.6831038,30.3720163,0</coordinates></Point>
</Placemark>
<Placemark id="p2">
  <address>2601 S McKenzie St, Gulf Shores, AL 36542, USA</address>
  <AddressDetails Accuracy="8" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
   <Country>  <CountryNameCode>US</CountryNameCode><CountryName>USA</CountryName><AdministrativeArea><AdministrativeAreaName>AL</AdministrativeAreaName><Locality><LocalityName>Gulf Shores</LocalityName><Thoroughfare><ThoroughfareName>2601 S McKenzie St</ThoroughfareName></Thoroughfare><PostalCode><PostalCodeNumber>36542</PostalCodeNumber></PostalCode></Locality></AdministrativeArea></Country></AddressDetails>
  <ExtendedData>
    <LatLonBox north="30.3093758" south="30.3066778" east="-87.6818443" west="-87.6845423" />
  </ExtendedData>
  <Point><coordinates>-87.6832047,30.3080269,0</coordinates></Point>
  </Placemark>
    </Response></kml>

У меня есть этот блок кода 2.0, и я пытаюсь найти эквивалент 1.1 для свойства OuterXml:

private XPathNavigator CreateSubNavigator(XPathNavigator nav)
    {
        using (StringReader reader = new StringReader(nav.OuterXml))
        {
            XPathDocument doc = new XPathDocument(reader);
            return doc.CreateNavigator();
        }
    }

Я нашел эту статью в блоге, но ссылки на источник SerializableXPathNavigator устарели.= (

http://www.tkachenko.com/blog/archives/000155.html

Простите меня за мою глупость, но как мне написать собственный класс SerializableXPathNavigator с помощью моего собственного метода OuterXml?

Большое спасибо заваша помощь.

...