Необходимо считать и поменять значение в XML - C#

Узнай цену своей работы

Формулировка задачи:

Здравстуйте, есть документ который состоит из таких вот блоков, необходимо циклом искать по тегу gml:name название и менять у него содержимое тега gml:pos. С XML не работал, но вот всплыла такая задачка, заранее спасибо.
<gmlpoint>
              <gml:pos>37.253520 55.906210</gml:pos>
            </gmlpoint>
            <ymaps:style>#iconTemplate</ymaps:style>
          </ymaps:GeoObject>
          <ymaps:GeoObject>
            <gml:name>Объект: Сервис</gml:name>
            <gml:metaDataProperty>
              <ymaps:AnyMetaData>
                <code>40000009</code>
                <categoria>Недвижимость</categoria>
                <phone>454354534534545</phone>
                <address/>
              </ymaps:AnyMetaData>
            </gml:metaDataProperty>
            <gml:description><p style="color: #FF0511; font-size: 9pt">ОТКЛЮЧЕН</p><BR/>
                        щшщввв<BR/>
            
                        Информация: 
06 МОН     от 15 мая 2014г;
уауауааууауауаауау&;
 
<BR/></gml:description>

Решение задачи: «Необходимо считать и поменять значение в XML»

textual
Листинг программы
var xmlString = "<?xml version=....";
var xml = XElement.Parse(xmlString);
 
var nsManager = new XmlNamespaceManager(new NameTable());
nsManager.AddNamespace("ymaps", "http://maps.yandex.ru/ymaps/1.x");
nsManager.AddNamespace("gml", "http://www.opengis.net/gml");
 
var name = "Объект: ";
var positions = xml.XPathSelectElements($"//ymaps:GeoObject/gml:point/gml:pos[../../gml:name = '{name}']", nsManager);
foreach (var position in positions)
{
    // Modify
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы