WindowsPhone7中的XML读取、过滤以及数据绑定

我将使用LINQ to XML,以便加载和读取数据,而且我将展示
【菜科解读】
在这个小教程,我将演示在Windows Phone 7如何让ListBox的数据绑定XML数据。
我将使用LINQ to XML,以便加载和读取数据,而且我将展示如何实现一个基本的过滤。
首先让我们先创建一个Windows Phone 7的应用程序项目示例,并添加以下两个demo xml文件。
people.xml
?xml version="1.0" encoding="utf-8" ?> Kate Smith 27
Tom Brown 30
Tim Stone 36
Ann Peterson 27
在这里我不得不感谢一直支持我的卤面网版主,是他让我提起兴趣写了这么一篇文章,再次感谢卤面网,一个非常不错的wp7开发论坛,后面我也将再次向大家发布几篇高质量文章,请大家到卤面上找我吧,呵呵
进入正题:
PeopleCustom.xml
?xml version="1.0" ?>
下一步是创建一个示例类将被用来存储XML元素值:
public class Person{ string firstname; string lastname; int age; public string FirstName { get { return firstname; } set { firstname = value; } } public string LastName { get { return lastname; } set { lastname = value; } } public int Age { get { return age; } set { age = value; } }}
为了读取XML文件的信息,我们将使用的XDocument
所以你首先需要添加System.Xml.Linq.dll引用,然后usingSystem.Xml.Linq;
XDocument loadedData = XDocument.Load("People.xml"); var data = from query in loadedData.Descendants("person") select new Person { FirstName = (string)query.Element("firstname"), LastName = (string)query.Element("lastname"), Age = (int)query.Element("age") };listBox.ItemsSource = data;
在接下来的例子中,我们将通过数据的“年龄”属性值过滤。
源代码如下:
XDocument loadedCustomData = XDocument.Load("PeopleCustom.xml");var filteredData = from c in loadedCustomData.Descendants("Person") where c.Attribute("Age").Value == "27" select new Person() { FirstName = c.Attribute("FirstName").Value, LastName = c.Attribute("LastName").Value }; listBox1.ItemsSource = filteredData;
为了显示的数据,我们将使用以下ItemTemplates绑定ListBox控件:
WindowsPhone7,中的,XML,读取,、,过滤,以 上一篇:ipad暴风影音怎么播放多集电视剧、音画不同步怎么办? 下一篇:
阿德里安堡之战中的哥特式胜利 暴露了罗马在战场上的军队弱点
由于他们成功地使用对抗罗马步兵,哥特人获得了胜利。
这次哥特式的胜利为进一步的德国攻击打开了大门,开始了多米诺骨牌效应,结束了西欧的罗马帝国统治。
在公元378年8月,战斗发生在叛逆的哥特人和一支被召集起来镇压哥特式叛乱的罗马军队之间。
实际的战斗发生在距离伊斯坦布尔以西的希腊,保加利亚和土耳其边境附近的现代埃迪尔内阿德里安堡约13公里处。
冲突涉及东罗马帝国的野战军队,由弗拉维乌斯·瓦伦斯指挥,反对一支混合的哥特式军队,其核心由弗里格格恩下的Tervingi部落组成,由阿拉图斯和萨普拉克斯以及其他哥特部落领导的格雷图吉尼支持。
哥特人在公元376年与罗马人签订了一项条约,允许他们在帝国内定居,但由于他们从罗马人那里得到的虐待,哥特们反叛了。
瓦伦斯打算结束这种哥特式的威胁,但他过早地根据关于哥特式下等数字的伪造情报报告进行了攻击,而没有等待格拉蒂安皇帝下的西罗马军队抵达。
在战斗中,罗马军队彻底失败了。
三分之二的罗马军队,大约15,000名士兵被杀,包括瓦伦斯。
哥特骑兵 阿德里安堡的哥特式部队配备了重型骑兵。
哥特式骑兵骑在强壮的马匹上,可以承载骑手的重量和身体盔甲。
哥特马穿着防弹衣,以保护动物免受各种武器的伤害。
由于他们的装甲马不易受到严重伤害,哥特骑兵更愿意与敌人靠近并使用他们选择的武器,具有毁灭性冲击和致命效果的冲刺矛。
哥特式骑兵战术在阿德里安堡之战中起了决定性作用。
战场分析与战术 在夏季的中午炎热时期,两支罗马军队的先进分朝着哥特人的方向前进。
瓦伦斯愚蠢地决定在格拉蒂安到达战场之前开始一场决定性的战斗,因为他正在寻求所有的荣耀和错误的侦察,说服他只有一半的哥特力量存在。
阿德里安堡之战在几个阶段发展起来。
首先,罗马人向哥特式营地前进。
随着罗马军队的接近,哥特人采取了防御阵型,将他们的马车圈成了一个保护他们的妇女和儿童的拉杆。
他们用步兵保护他们的临时防御。
其次,罗马军队正在遭受酷暑,口渴和饥饿,而在没有哥特式骑兵的情况下,正在谈判休战,当时罗马骑兵部队的无序攻击引发了一般的军事行动。
第三,在罗马骑兵袭击失败后,哥特式骑兵突然从觅食的远征中返回并猛烈冲向罗马右翼,导致许多罗马士兵死亡。
随着更多返回的哥特骑兵到来,他们积极攻击罗马人暴露的左翼。
罗马人的队伍被两侧的哥特式骑兵攻击击碎,直到完全爆发。
最后,在罗马骑兵在混乱中被赶出战场后,哥特骑兵继续攻击罗马步兵的侧翼,迅速围绕并消灭罗马中心。
大约三分之二的罗马军队在炎热的夏季战场上死亡,其中包括Valens,其身体从未被发现。
战场影响与意义 虽然由于罗马的失败,阿德里安堡之战很重要,但冲突的真正影响在于战争的未来。
从西方战争开始直到在阿德里安堡的交战中,带有棍棒,剑和长矛的步兵在欧洲战斗中占据了战场。
骑兵部队偶尔会进行罢工,扫射侧翼,并进行侦察行动,但只有少数骑在马背上的战士直接对抗敌军。
这场战场战术随着阿德里安堡的哥特式胜利而改变。
哥特式骑兵成为中世纪骑士和许多骑兵部队的前身,这些部队将在未来1000年内统治欧洲战场。
只有当英国长弓弓箭手在克雷西(公元1346年)和阿金库尔(公元1415年)击败法国骑兵时,阿德里安堡的骑兵战术才开始从许多欧洲战场上消失。
到了20世纪,马骑兵已经被地面和空中的装甲机械化骑兵所取代,类似的机动和战术再次复活。
随机文章夏朝的货币是什么?中国400吨重型运输机简介,发动机比运20大2倍蚊式战斗机用的什么木材,专用巴尔沙木制造(速度碾压德军战机)直立浮尸科学怎么解释,尸体腐烂产生的气体膨胀而漂浮神仙千里眼顺风耳来历,历史著名人物被后人崇拜演化成神仙
三十六计中的第三计,郑桓公用过,皇太极也用过
译文是这样的“敌人的情况已经明确,而盟友的态度还未明朗,利用盟友的力量去消灭敌人,就不必自己付出什么力量了,这是从《损》卦中推演出来的计策”。
这一计策的名字源于《韩非子.内储说下》,当时郑桓公想要侵占郐国,但是郐国有不少的能臣勇将不好打。
他的谋士就为他出了一个计策,让手下人去讲郐国的英雄豪杰、能臣勇将的名字都记下来。
自己挑选了一个吉利的日子在城门边设了一个祭坛,一下子引来了很多人公布自己要攻打郐国的消息,并放出消息说郐国的能臣勇将不喜欢自己的国君,想要邀请自己做他们的国君,他假装宣誓当自己攻下郐国之后就将郐国的良田赠送给他们,并让他们做大官,然后将写有能臣勇将名字的帛书埋在了祭坛下面。
后来帛书到了郐国国君的手中,郐国国君一怒之下将这些人全都杀了,最后郐国被郑桓公不飞就灭了。
在历史中有一个经典的借刀杀人的事件,这就是皇太极计除袁崇焕,当时努尔哈赤率军攻打宁远,结果被袁崇焕挫伤满军锐气而败北,努尔哈赤也因为这件事羞愧愤懑,气急身亡。
他的儿子皇太极经过几年的准备再一次进攻。
这次他避开了宁远想要直插后方,但是袁崇焕及时赶到满军又一次败北。
为了除掉袁崇焕,又因为皇帝多疑,所以皇太极想到了一个借刀杀人的妙计。
他派人用重金贿赂明朝宦官。
让宦官“告密”。
宦官“告密”说袁崇焕因为与满军签订协议,所以满军才成功翻阅长城进入内地。
最终一代名将袁崇焕因为皇帝的不信任最终被斩首。
随机文章鲨鱼为什么怕海豚,鲨鱼为什么不吃海豚(海豚完胜鲨鱼/屌炸天)南极为什么没有北极熊,与南极洲的形成和北极熊祖先有关巴拿马运河谁修的,巴拿马运河是美国的吗(美国建造/不属于美国)诺贝尔奖为什么发不完,诺贝尔奖金还剩多少钱(投资理财/钱滚钱)一生比较倒霉的生肖,生肖牛/猪/兔败在性格上(只能求贵人相助)