读取 XML 属性和文本 [英] Reading XML attributes and text
本文介绍了读取 XML 属性和文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在开发 Windows Phone 7.5 应用程序,但我迷路了.
I'm developing a Windows Phone 7.5 app and I'm lost.
我必须阅读以下 xml:
I have to read the following xml:
<?xml version="1.0" encoding="utf-8" ?>
<cards>
<card id ="0">
<name lang="en">Mad</name>
<description lang="en">This...</description>
</card>
...
</cards>
我必须完成这段代码:
private void UpdateCardDescriptions(int[] numbers, string lang)
{
for (int i = 0; i < numbers.Length; i++)
{
XmlReader reader = XmlReader.Create("Data/CardDescriptions.xml");
reader.MoveToContent();
while (reader.Read())
{
if ((reader.NodeType == XmlNodeType.Element) &&
(reader.Name == "card") &&
(reader.GetAttribute("id").Equals(numbers[i].ToString())))
{
string description = string.Empty;
while (reader.Read())
{
}
switch (i)
{
case 0:
Card01Desc.Text = description;
break;
case 1:
Card02Desc.Text = description;
break;
case 2:
Card03Desc.Text = description;
break;
}
}
if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "cards")
{
break;
}
}
reader.Close();
}
}
我必须完成这段代码:
while (reader.Read())
{
}
如果我正在寻找语言的描述,请使用 lang,以获取带有 ID 的卡片.如何获取同种语言lang对应的描述.
If I'm looking for a description in a language, lang, for a card with an id. How can I get the corresponding description for the same language, lang.
对不起,我被屏蔽了.
推荐答案
您是否使用过 XElement
,Windows Phone SDK 很容易并广泛支持它.
Have you used XElement
, it's easy and widely supported by Windows Phone SDK.
private void UpdateCardDescriptions(int[] numbers, string lang)
{
XElement xe = XElement.Load(yourXml);
Control[] controls = new[] { Card01Desc, Card02Desc, Card03Desc };
foreach(var number in numbers)
{
var card = xe.Desendants("card").Where(c => c.Attribute("id").Value == number)
.First();
((YourControlType)controls[number]).Text = card.Desendants("description")
.Where(c => c.Attribute("lang").Value == lang)
.First()
.Value;
}
}
这篇关于读取 XML 属性和文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文