0
XMLファイルからデータを読み取るアプリケーションの部分を更新しようとしています。現時点では私はXPATHを使用していますが、私はLINQに更新したいと思います。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
インスタンスであることに留意されたいです。もしそれトラブルこれを理解するには、依頼することを躊躇しないでください場合は、この
public ContinuityData GetSingleContinuityResult(string pin)
{
ContinuityData data;
data = new ContinuityData();
data.PinName = pin;
XElement xtr = XElement.Load("path/to/your/xml/file");
Func<string, string, string, double> getViData =
(testName, pin, mode) =>
Convert.ToDouble(
xtr
.Descendants("Test")
.Where(test => test.Descendants("Name")
.First().Value.Contains(testName))
.Descendants("Pin")
.Where(p => p.Descendants("Number")
.First().Value == pin)
.Descendants("VIPair")
.Descendants(mode)
.First().Value);
data.PreVoltage = getViData("Pre Continuity", pin, "Voltage");
data.PreCurrent = getViData("Pre Continuity", pin, "Current");
data.PostCurrent = getViData("Post Continuity", pin, "Current");
data.PostVoltage = getViData("Post Continuity", pin, "Voltage");
return data;
}
を試してみてください
xmlファイルの構造を入力してください。 –
完了!それが助けて欲しい、それは巨大なファイルです! –
これを出力するプログラムは何ですか?私はこれらの正確なファイルタイプを解析しようとしているGoogle上のいくつかの人々を参照してください... –