Я пытаюсь обновить часть в моем приложении, которая читает данные из файлов XML. В настоящее время я использую XPATH, но я хочу обновить до LINQ.
Для простых запросов XPATH, которые мне нужны, чтобы получить только 1 значение, нет проблем. но следующий метод я не могу понять, как использовать LINQ здесь. Было бы неплохо, если бы вы могли дать несколько идей.
public ContinuityData GetSingleContinuityResult(string pin)
{
ContinuityData data;
data = new ContinuityData();
data.PinName = pin;
data.PreVoltage = double.Parse(ztr.SelectSingleNode("/Document/Tests/Test[contains(Name, 'Pre Continuity')]/Groups/Group/Pins/Pin[Number='" + pin + "']/Spots/Spot/VIPair/Voltage").InnerText, CultureInfo.InvariantCulture);
data.PreCurrent = double.Parse(ztr.SelectSingleNode("/Document/Tests/Test[contains(Name, 'Pre Continuity')]/Groups/Group/Pins/Pin[Number='" + pin + "']/Spots/Spot/VIPair/Current").InnerText, CultureInfo.InvariantCulture);
data.PostVoltage = double.Parse(ztr.SelectSingleNode("/Document/Tests/Test[contains(Name, 'Post Continuity')]/Groups/Group/Pins/Pin[Number='" + pin + "']/Spots/Spot/VIPair/Voltage").InnerText, CultureInfo.InvariantCulture);
data.PostCurrent = double.Parse(ztr.SelectSingleNode("/Document/Tests/Test[contains(Name, 'Post Continuity')]/Groups/Group/Pins/Pin[Number='" + pin + "']/Spots/Spot/VIPair/Current").InnerText, CultureInfo.InvariantCulture);
return data;
}
Обратите внимание, что ztr
является экземпляром XmlDocument
.
Вот как выглядит XML-файл:
![enter image description here](https://i.stack.imgur.com/SoO1f.png)