在循环中创建对象并使用XML信息加载它们

时间:2012-10-24 08:48:32

标签: xml loops runtime

我花了很多时间搜索我的问题的解决方案,但没有找到任何有用的东西。 我想加载一个具有未知数量的对象的ArrayList对象。对象很简单,包含字符串名称,双精度数和bool检查(myClass temp = new myClass(j,-7,false);例如)。

问题是必须使用我的XML文件中的信息加载这些对象。

我从XML文件中复制代码时遇到了一些问题,因此我在没有<>的情况下编写了代码。向你展示它的外观。

XML代码段:

root
  Information Name="test1" Time="7" Check="true"
  Information Name="test2" Time="-6" Check="false"
/root

C#Code Snippet:

public void readXmlFile()
        {
            XmlDocument newXML = new XmlDocument();
            newXML.Load(pathXML);
            XmlElement root = doc.DocumentElement;

            int j = 0;
        ArrayList myArrList;
            foreach (XmlNode @daten in root.ChildNodes)
            {
                myClass temp = new TimeZone();
                myArrList[j].name = @daten.Attributes["Name"].InnerText;
                myArrList[j].number = @daten.Attributes["Number"].InnerText);
                myArrList[j].check = @daten.Attributes["Check"].InnerText);
            }
}

我希望有人可以帮助我:)。

我自己有解决方案:)

public void readXmlFile()
{
    XmlDocument newXML = new XmlDocument();
    newXML.Load(pathXML);
    XmlElement root = newXML.DocumentElement;

    foreach (XmlNode @daten in root.LastChild.ChildNodes)
    {
        myClass temp = new TimeZone();
        temp.name = @daten.Attributes["Name"].InnerText;
        temp.number = Convert.ToDouble(@daten.Attributes["Number"].InnerText);
        temp.check = Convert.ToBoolean(@daten.Attributes["Check"].InnerText);
        myClassArrayList.Add(temp);
    }
}

0 个答案:

没有答案