获取信息并存储信息XmlSerialized网页,Windows Phone

时间:2012-03-25 16:56:02

标签: windows-phone-7 xml-serialization windows-phone

我需要能够做到以下几点:

当用户开始输入时,代码将转到此URL(XMLSerialized),然后找到所有停止名称,然后在自动完成框中显示它们。一旦用户找到正确的那个,他们然后单击一个按钮,然后返回到相同的URL,然后找到停止ID。然后它将停止ID存储在文本框中,或者用于其他搜索(这已经被完成)

他的URL代码格式为:

<ArrayOfStop xmlns="http://schemas.datacontract.org/2004/07/BusExpress.ClassLibrary" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

<Stop z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
<EntityKey z:Id="i2" xmlns="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" xmlns:a="http://schemas.datacontract.org/2004/07/System.Data">
<a:EntityContainerName>busExpressEntities</a:EntityContainerName>
<a:EntityKeyValues><a:EntityKeyMember>
<a:Key>stopId</a:Key>
<a:Value i:type="b:int" xmlns:b="http://www.w3.org/2001/XMLSchema">6400</a:Value>
</a:EntityKeyMember></a:EntityKeyValues>
<a:EntitySetName>StopSet</a:EntitySetName>
</EntityKey>
<AtcoCode>1400WE0400</AtcoCode>
<GPSStopName>Rajdutt Restaurant</GPSStopName>
<Lat>50.952913243742266</Lat><Long>0.11696262657641121</Long>
<LongName>Rajdutt Restaurant</LongName>
<NaptanCode>esudadga</NaptanCode>
<OperatorsCode1>04032</OperatorsCode1>
<OperatorsCode2>4032</OperatorsCode2>
<OperatorsCode3>80414</OperatorsCode3>
<OperatorsCode4>esudadga</OperatorsCode4>
<StopName>Rajdutt Restaurant</StopName>
<route_stop /><route_stop_stop />
<route_stop_timetable_stop /><stopId>6400
</stopId>
</Stop>


<Stop z:Id="i3" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
<EntityKey z:Id="i4"   xmlns="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" xmlns:a="http://schemas.datacontract.org/2004/07/System.Data">
<a:EntityContainerName>busExpressEntities</a:EntityContainerName>
<a:EntityKeyValues><a:EntityKeyMember>
<a:Key>stopId</a:Key>
<a:Value i:type="b:int" xmlns:b="http://www.w3.org/2001/XMLSchema">6401</a:Value>
/a:EntityKeyMember></a:EntityKeyValues>
<a:EntitySetName>StopSet</a:EntitySetName>
</EntityKey>
<AtcoCode>1400LE10031</AtcoCode>
<GPSStopName>Cysleys Farm</GPSStopName>
<Lat>50.955104287650805</Lat>
<Long>0.11356099694967536</Long>
<LongName>Cysleys Farm</LongName>
<NaptanCode>esudgpgj</NaptanCode>
<OperatorsCode1>04033</OperatorsCode1>
<OperatorsCode2>4033</OperatorsCode2>
<OperatorsCode3 /><OperatorsCode4>esudgpgj</OperatorsCode4>
<StopName>Cysleys Farm (by request only)</StopName>
<route_stop />
<route_stop_stop /><route_stop_timetable_stop />
<stopId>6401</stopId>
</Stop>

编辑我在尝试获取数据时遇到此错误

找不到元素的架构信息

1 个答案:

答案 0 :(得分:0)

您需要以下工具来执行您想要的操作:

阅读XML: 选项1:如果您有表示XML的c#类(请阅读更多here),请使用XmlSerializer类加载数据。 选项2:使用XDocument阅读XML raw(请参阅here

对于自动完成框,您可以查看Silverlight Toolkit。我发现实现缺乏,但我知道有些人使用它(找到它here)。您也可以使用您将在页面上显示/隐藏的ListBox自己实现它。