Чтение нескольких значений из xml и обновление только одного значения в xml - PullRequest
0 голосов
/ 28 октября 2019

Я разработал код для обновления существующего XML.

XML содержит слишком много информации, но мне нужно всего несколько. Поэтому я внес некоторые изменения.

Существующий XML выглядит как

<Parent><Name>P_Im</Name>
<Caption>First order</Caption>
<Category>TestResults</Category>
<Values>
<Value>43</Value><Value>33</Value><Value>37</Value><Value>39</Value>
</Values>
</Parameter>

И мне нужно прочитать только тег first value , который показывает значение 43 и несколько изменений в XML. Я написал следующий код,

var im = document.Descendants("Parameter").Where(a =>a.Element("Name").Value == "P_Im").FirstOrDefault();                
string IM_val = im.Element("Values").Value;              
string final = "<Information><Name>P_CIm</Name><Caption> ONE</Caption><Value>" + IM_val + "</Value><Color/><Range/><Status/></Information>";

Этот код генерирует результат следующим образом:

<Information>
<Name>P_CIm</Name>
<Caption> ONE</Caption>
<Value>4333739</Value>
</Information>";

Но я хочу, чтобы мой результат был следующим:

<Information>
<Name>P_CIm</Name>
<Caption> ONE</Caption>
<Value>43</Value>
</Information>";

Я вижучто здесь должна использоваться небольшая логика, так как я начинающий, предложите мне несколько идей.

Заранее спасибо за помощь и поддержку.

1 Ответ

0 голосов
/ 28 октября 2019

Вы выбираете элемент «Значения» и возвращаете текст всех его дочерних элементов.

Вместо:

string IM_val = im.Element("Values").Value; 

Использование:

string IM_val = im.Element("Values").Element("Value").Value;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...