所以我需要做的是解析xml文件并从文件中提取数据,并使用我提取的值,我需要让代码确定它是否通过了测试。
例如: 我提取出XMax并且它需要小于200,如果它被传递,如果它更高则失败。 我提取出XMin,它需要超过-200,如果它被传递,如果它更少失败。 我提取出YMax并且它需要小于200,如果是它通过则如果它更高则失败。 我提取出YMin,它需要超过-200,如果它被传递,如果它更少失败。
这是xml文件的外观,我需要检查的值:
<XAxisCalib>
<Max>288.46</Max>
<Min>-46.6</Min>
</XAxisCalib>
<YAxisCalib>
<Max>646.76</Max>
<Min>-89.32</Min>
</YAxisCalib>
<ZAxisCalib>
<Max>19.24</Max>
<Min>-143.63</Min>
任何人都有关于如何编写程序的建议我正在考虑使用XML来解析文件和数据,但现在确定如何比较这些值。
答案 0 :(得分:1)
使用LINQ to XML对我来说听起来不错,是的。类似的东西:
XDocument doc = XDocument.Load("file.xml");
int xMax = (int) doc.Root.Element("XMax");
int yMax = (int) doc.Root.Element("YMax");
int xMin = (int) doc.Root.Element("XMin");
int yMin = (int) doc.Root.Element("YMin");
return xMax < 200 &&
xMin > -200 &&
yMax < 200 &&
yMin > -200;
如果那不是你想到的那种,请提供更多细节。
编辑:如果问题有四个不同的测试,你需要类似的东西:
public bool ValidateXMax(XDocument doc)
{
int xMax = (int) doc.Root.Element("XMax");
return xMax < 200;
}
......但重复了四次。当然,重复是稍微丑陋,价值观的硬编码也是如此,但实际上还不清楚你要做什么。另一种选择:
XDocument doc = XDocument.Load("file.xml");
int xMax = (int) doc.Root.Element("XMax");
int yMax = (int) doc.Root.Element("YMax");
int xMin = (int) doc.Root.Element("XMin");
int yMin = (int) doc.Root.Element("YMin");
bool xMaxValid = xMax < 200;
bool yMaxValid = yMax < 200;
bool xMinValid = xMin > -200;
bool xMinValid = yMin > -200;