Как увеличить число, но продолжить форматирование - PullRequest
1 голос
/ 19 февраля 2020

У меня есть маленький XML, который я прочитал, чтобы получить идентификатор теста. Мне нужно увеличить это число, но сохранить то же форматирование.

<?xml version="1.0" encoding="utf-8" ?>
<Test>
   <TestID>00001</TestID>  
</Test>
testID = xDoc.Descendants("TestID").First().Value;

Если я просто преобразовываю testID в int, оно становится равным 0. Мне нужно, чтобы вывод был 00002 после увеличения, а затем мне нужно записать его обратно в файл XML.

Ответы [ 2 ]

2 голосов
/ 19 февраля 2020

Просто:

var xDoc = XDocument.Parse(xml);
var testIdElement = xDoc.Root.Element("TestID");
testIdElement.Value = ((int)testIdElement + 1).ToString("D5");

Мы преобразуем значение «TestID» в целое число, увеличиваем его, затем форматируем как строку из 5 цифр с добавлением начальных нулей.

0 голосов
/ 19 февраля 2020

Вы можете попробовать с XmlDocument

var xmlDoc = new XmlDocument();
xmlDoc.Load(filePath);
var testId = xmlDoc.SelectSingleNode("/Test/TestID");
testId.InnerText = (Convert.ToInt32(testId.InnerText)+1).ToString("D5");
xmlDoc.Save(filePath);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...