Как заменить что-то между xml начальным тегом и xml конечным тегом в c#? - PullRequest
2 голосов
/ 27 апреля 2020

У меня есть файл xml, Body. xml:

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <MyNumbers xmlns="http://google.com/">
      <number1>1</number1>
      <number2>1</number2>
      <number3>1234</number3>
      <number4>1</number5>
    </MyNumbers>
  </soap12:Body>
</soap12:Envelope>

Я хочу программно изменить номер в теге number3 ... из списка номеров. Как я могу это сделать?

Спасибо!

1 Ответ

0 голосов
/ 27 апреля 2020

Пространство имен по умолчанию в MyNumbers изменяется. Итак, самый простой способ ниже:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;



namespace ConsoleApplication1
{
    class Program
    {
        const string FILENAME = @"c:\temp\test.xml";
        static void Main(string[] args)
        {
            XDocument doc = XDocument.Load(FILENAME);
            XElement soap = doc.Root;

            XElement number3 = doc.Descendants().Where(x => x.Name.LocalName == "number3").FirstOrDefault();

            number3.SetValue(5678);

        }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...