<?xml version="1.0" encoding="utf-8" ?>
<SiteMap>
<Site FacID="Default">
<Rec0>
<NumGeos>
<RMin>0</RMin>
<YMin>1</YMin>
<YMax>4</YMax>
<RMax>5</RMax>
</NumGeos>
<GeoAvg>
<RMin>10</RMin>
<YMin>20</YMin>
<YMax>60</YMax>
<RMax>70</RMax>
</GeoAvg>
<L1AGC>
<RMin>2500</RMin>
<YMin>2600</YMin>
<YMax>3400</YMax>
<RMax>3500</RMax>
</L1AGC>
<NumL1s>
<RMin>0</RMin>
<YMin>1</YMin>
<YMax>14</YMax>
<RMax>15</RMax>
</NumL1s>
<L1Avg>
<RMin>10</RMin>
<YMin>20</YMin>
<YMax>60</YMax>
<RMax>70</RMax>
</L1Avg>
<L2AGC>
<RMin>2500</RMin>
<YMin>2600</YMin>
<YMax>3400</YMax>
<RMax>3500</RMax>
</L2AGC>
<NumL2s>
<RMin>0</RMin>
<YMin>1</YMin>
<YMax>14</YMax>
<RMax>15</RMax>
</NumL2s>
<L2Avg>
<RMin>10</RMin>
<YMin>20</YMin>
<YMax>60</YMax>
<RMax>70</RMax>
</L2Avg>
</Rec0>
</Site>
<Site FacID="BET">
<Rec1>
<NumGeos>
<RMin>0</RMin>
<YMin>1</YMin>
<YMax>4</YMax>
<RMax>5</RMax>
</NumGeos>
<GeoAvg>
<RMin>10</RMin>
<YMin>20</YMin>
<YMax>60</YMax>
<RMax>70</RMax>
</GeoAvg>
<L1AGC>
<RMin>2500</RMin>
<YMin>2600</YMin>
<YMax>3400</YMax>
<RMax>3500</RMax>
</L1AGC>
<NumL1s>
<RMin>0</RMin>
<YMin>1</YMin>
<YMax>14</YMax>
<RMax>15</RMax>
</NumL1s>
<L1Avg>
<RMin>10</RMin>
<YMin>20</YMin>
<YMax>60</YMax>
<RMax>70</RMax>
</L1Avg>
<L2AGC>
<RMin>2500</RMin>
<YMin>2600</YMin>
<YMax>3400</YMax>
<RMax>3500</RMax>
</L2AGC>
<NumL2s>
<RMin>0</RMin>
<YMin>1</YMin>
<YMax>14</YMax>
<RMax>15</RMax>
</NumL2s>
<L2Avg>
<RMin>10</RMin>
<YMin>20</YMin>
<YMax>60</YMax>
<RMax>70</RMax>
</L2Avg>
</Rec1>
</Site>
</SiteMap>
我试图存储上面xml文件中列出的值,以便我可以像这样引用它们:
int x = (Site["BET"].Rec1.GeoAvg.RMin == null
? Site["Default"].Rec0.GeoAvg.RMin
: Site["BET"].Rec1.GeoAvg.RMin)
或至少与此类似的东西。任何人都知道一种简单(快速)的方法吗?非常感谢你的帮助!!!
答案 0 :(得分:1)
主要部分是ToDicionary()
,类似于
var sites = doc.Descendants("Site").ToDictionary(
e => e.Attribute("FacID").Value,
e => new Site { Rec1 = new Rec1 { ... } } );
答案 1 :(得分:1)