无法弄清楚如何在Visual Studio C#中读取xml数据

时间:2017-10-11 08:37:35

标签: c# xml foreach radio-button reader

我不确定如何从XML文件中读出数据。

XML文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<Lijsten>
<Lijst>
    <Titel>Discipline</Titel>
    <Waardes>Elektro</Waardes>
    <Waardes>Mechanisch</Waardes>
    <Waardes>Civiel</Waardes>
    <Waardes>Proces</Waardes>
</Lijst>
<Lijst>
    <Titel>Soort</Titel>
    <Waardes>Tekening</Waardes>
    <Waardes>Tekst doc</Waardes>
    <Waardes>Afbeelding</Waardes>
</Lijst>
<Lijst>
    <Titel>Afdruk</Titel>
    <Waardes>Landscape</Waardes>
    <Waardes>Portrait</Waardes>
</Lijst>
<Lijst>
    <Titel>Kleur</Titel>
    <Waardes>Kleur</Waardes>
    <Waardes>Zwart</Waardes>
</Lijst>
<Lijst>
<Titel>Kader</Titel>
<Waardes>Aanwezig</Waardes>
<Waardes>Niet aanwezig</Waardes>
</Lijst>
</Lijsten>

我正在尝试为每个“Lijst”创建一个单选按钮菜单。

到目前为止我已经得到了什么(不多):

XmlTextReader reader = new XmlTextReader("iniFile.xml");
while (reader.Read())
{
     while (reader.ReadToFollowing("Lijst"))
     {
          while (reader.ReadToFollowing("Titel"))
          {

          }
     }
}

2 个答案:

答案 0 :(得分:1)

使用XElement类和LinqToXML:

XElement xml = XElement.Parse(xml);
var buttons = xml.Element("Lijsten")
                 .Elements()
                 .Select(p => new { Titel = p.Element("Titel").Value })
                 .ToArray();

答案 1 :(得分:1)

如果您不想使用sudo apt-get install python3-pypdf2. 阅读,可以使用XmlDocumentXPath

看看这个例子,获取所有标题:

XElement

或者,获取所有XmlDocument xdoc = new XmlDocument(); xdoc.Load(@"C:\temp\inifile.xml"); XmlNodeList nodes = xdoc.SelectNodes("//Titel"); foreach (XmlNode node in nodes) { Console.WriteLine(node.InnerText); } 个节点,然后遍历它们以获取标题和warde值

Lijst