我对 .NET 很陌生,我对 XML 感到困惑!我正在尝试为 Windows Phone 7 制作应用程序,但尝试读取 XML 时代码失败。根据表达式 watcher e.Result 是可以的。
这是我要解析的 XML:
<?xml version="1.0" encoding="utf-8"?>
<Arrives>
<Arrive>
<IdStop>803</IdStop>
<idLine>44</idLine>
<IsHead>True</IsHead>
<Destination>MARQUES DE VIANA</Destination>
<IdBus>0000</IdBus>
<TimeLeftBus>405</TimeLeftBus>
<DistanceBus>978</DistanceBus>
<PositionXBus>-1</PositionXBus>
<PositionYBus>-1</PositionYBus>
<PositionTypeBus>1</PositionTypeBus>
</Arrive>
<Arrive>
<IdStop>803</IdStop>
<idLine>12</idLine>
<IsHead>True</IsHead>
<Destination>MARQUES ZAFRA</Destination>
<IdBus>0000</IdBus>
<TimeLeftBus>466</TimeLeftBus>
<DistanceBus>1016</DistanceBus>
<PositionXBus>-1</PositionXBus>
<PositionYBus>-1</PositionYBus>
<PositionTypeBus>1</PositionTypeBus>
</Arrive>
<Arrive>
<IdStop>803</IdStop>
<idLine>44</idLine>
<IsHead>True</IsHead>
<Destination>MARQUES DE VIANA</Destination>
<IdBus>0000</IdBus>
<TimeLeftBus>1077</TimeLeftBus>
<DistanceBus>2714</DistanceBus>
<PositionXBus>-1</PositionXBus>
<PositionYBus>-1</PositionYBus>
<PositionTypeBus>1</PositionTypeBus>
</Arrive>
<Arrive>
<IdStop>803</IdStop>
<idLine>12</idLine>
<IsHead>True</IsHead>
<Destination>MARQUES ZAFRA</Destination>
<IdBus>0000</IdBus>
<TimeLeftBus>1089</TimeLeftBus>
<DistanceBus>3260</DistanceBus>
<PositionXBus>-1</PositionXBus>
<PositionYBus>-1</PositionYBus>
<PositionTypeBus>1</PositionTypeBus>
</Arrive>
</Arrives>
这是使用 System.Xml.Linq 和 System.Collections 的 C# 代码:
XElement xmlEMTStop = XElement.Parse(e.Result);
foreach (XElement arriveElement in xmlEMTStop.Descendants())
{
// Recojemos los elementos en el XML
stopElement readElement = new stopElement();
readElement.idStop = (string)arriveElement.Element("idStop").Value;
readElement.idLine = (string)arriveElement.Element("idLine").Value;
readElement.destination = (string)arriveElement.Element("Destination").Value;
readElement.timeLeftBusRaw = (string)arriveElement.Element("TimeLeftBus").Value;
(...)