在ListBox和PivotControl中加载XML节点(c#& Windows Phone 7)

时间:2012-08-26 17:19:30

标签: c# xml windows-phone-7

我有以下XML

<?xml version="1.0" encoding="utf-8" ?>
    <root>
    <Sxoles>
        <sxoli>
            <onoma>name1</onoma>
            <sch>school1</sch>
            <sxoliId>100</sxoliId>
            <mathima>lesson1</mathima>
            <mathima>lesson2</mathima>


        </sxoli>
        <sxoli>
            <onoma>name2</onoma>
            <sch>school2</sch>
            <sxoliId>200</sxoliId>
            <mathima>lesson1</mathima>
            <mathima>lesson2</mathima>

        </sxoli>

    </Sxoles>
    </root>

我想阅读 mathima 节点并在列表框中加载(参见下文)

                           <Grid>
                                <ListBox x:Name="testList">
                                <ListBox.ItemTemplate>
                                    <DataTemplate>
                                            <TextBlock Grid.Column="1" 
                                            x:Name="mathima"
                                            Style='{StaticResource                PhoneTextSubtleStyle}'
                                             />
                                      </DataTemplate>
                                    </ListBox.ItemTemplate>
                            </ListBox>
                            </Grid>

列表框包含在pivotcontrol的透视图中

结果我想在列表中看到lesson1,lesson2等...(只有 mathima 节点)。

我创建了一个类

 public class Sxoli
    {
        ...
        [XmlElement("mathima")]
        public string mathima { get; set; }

    }

在后面的代码(.xaml.cs文件)中我有

mathima.Text = sxoli.mathima;

但是我收到以下错误

“当前上下文中不存在名称​​ mathima

我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以使用mathima

获取LINQ 2 XML个值
XElement doc=XElement.Load("yourXML.xml");//loads your xml
var mathimaList=doc.Descendants("Sxoles").Descendants("sxoli").Elements("mathima").Select(x=>x.Value);//gets mathima values

mathimaList现在包含mathima ..

的所有值