0

我有以下 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>

列表框包含在数据透视控件的数据透视项中

结果,我想在列表中看到第 1 课、第 2 课等...(只有mathima节点)。

我创建了一个类

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

    }

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

mathima.Text = sxoli.mathima;

但我收到以下错误

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

我能做些什么?

4

1 回答 1

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..的所有值

于 2012-08-26T17:30:45.160 回答