XML文件
<Lines>
<LineEntity>
<Id>33947</Id>
<Name>SEC_137438957044</Name>
<IsUnderground>true</IsUnderground>
<R>0.209</R>
<ConductorMaterial>Steel</ConductorMaterial>
<LineType>Cable</LineType>
<ThermalConstantHeat>2400</ThermalConstantHeat>
<FirstEnd>41990</FirstEnd>
<SecondEnd>41992</SecondEnd>
<Vertices>
<Point>
<X>407566.68007470988</X>
<Y>5013899.3558040857</Y>
</Point>
<Point>
<X>407625.00589398207</X>
<Y>5013876.8697334668</Y>
</Point>
<Point>
<X>407717.51971015992</X>
<Y>5014160.9525629422</Y>
</Point>
<Point>
<X>407559.40091708023</X>
<Y>5014220.4665799234</Y>
</Point>
</Vertices>
</LineEntity>
</Lines>
我想用Points获得这个Vertices
对象,但是我不知道该怎么去。到目前为止,我尝试过的事情:
var lines = xdoc.Descendants("LineEntity")
.Select(line => new Line
{
Id = (double)line.Element("Id"),
Name = (string)line.Element("Name"),
ConductorMaterial = (string)line.Element("ConductorMaterial"),
IsUnderground = (bool)line.Element("IsUnderground"),
R = (decimal)line.Element("R"),
FirstEnd = (int)line.Element("FirstEnd"),
SecondEnd = (int)line.Element("SecondEnd"),
LineType = (string)line.Element("LineType"),
ThermalConstantHeat = (int)line.Element("ThermalConstantHeat"),
Vertices = line.Descendants("Vertices").Select(p => new Point {
X = (decimal)p. //can't access Element
})
}).ToList();
答案 0 :(得分:2)
这是代码:
ThermalConstantHeat = (int)line.Element("ThermalConstantHeat"),
Vertices = line.Element("Vertices").Descendants("Point").Select(p => new TokenController.Point
{
X = (decimal)p.Element("X"),
Y = (decimal)p.Element("Y")//can't access Element
}).ToList()
您必须先找到 Element(“ Vertices”),然后才能找到 Descendants(“ Point”)列表
答案 1 :(得分:1)