XML-file lezen/zoeken

Status
Niet open voor verdere reacties.

Sniper80

Nieuwe gebruiker
Lid geworden
24 apr 2010
Berichten
1
Hallo, ik zit hier al even op te zoeken, maar weet niet hoe ik in onderstaande XML-file
de FileExclusions & FolderExclusions van de Type tag met naam "Test1" kan uitlezen.
Ik heb al vanalles geprobeerd, maar raak er niet aan uit, ook niet via de vele online voorbeelden...:confused:

wil iemand me helpen aub?

<?xml version="1.0" encoding="utf-8" ?>
<TypeCatalog>
<Type>
<Name>Test1</Name>
<FileExclusions>
<FileExclusion>*.jpg</FileExclusion>
<FileExclusion>*.txt</FileExclusion>
</FileExclusions>
<FolderExclusions>
<FolderExclusion>Log</FolderExclusion>
</FolderExclusions>
</Type>
<Type>
<Name>Test2</Name>
<FileExclusions>
<FileExclusion>*.bmp</FileExclusion>
<FileExclusion>*.nfo</FileExclusion>
</FileExclusions>
<FolderExclusions>
<FolderExclusion>Temp</FolderExclusion>
</FolderExclusions>
</Type>
</TypeCatalog>
 
Pfoe dat valt tegen in C#. Ik heb dit ooit in Java gedaan, veel makkelijker als je het mij vraagt. :) Maar goed ik heb een klein opzetje het werkt niet helemaal perfect (komt door try en catch, maar ik heb geen idee hoe dit anders moet in C#), maar misschien heb je er iets aan.

Code:
using System;
using System.Xml;

public class MainClass
{
    public static void Main(string[] args)
    {
        XmlTextReader reader = new XmlTextReader("C://A/test.xml");

        while (reader.Read())
        {
            switch (reader.NodeType)
            {
                case XmlNodeType.Element: // The node is an Element
                    Console.WriteLine("Element: " + reader.Name);
                    try
                    {
                        Console.WriteLine(" Value: " +
                             reader.ReadElementContentAsString());
                    }
                    catch (Exception e)
                    {
                        //Weet niet of er een mogelijkheid is om try en catch te vermijden. 
                    }
                    while (reader.MoveToNextAttribute())
                    {// Read attributes
                        Console.WriteLine("  Attribute: [" +
                         reader.Name + "] = '"
                           + reader.Value + "'");
                        
                    }
                    break;
                case XmlNodeType.DocumentType: // The node is a DocumentType
                    Console.WriteLine("Document: " + reader.Value);
                    break;
                case XmlNodeType.Comment:
                    Console.WriteLine("Comment: " + reader.Value);
                    break;
            }
        }

        reader.Close();
    }
}
*Via http://java2s.com/Code/CSharp/XML/ReadingfromanXMLfile.htm
 
Kan je mooi met LINQ to XML doen :)

[CPP] class Program
{
static void Main()
{
XDocument xdoc = XDocument.Load("XMLFile1.xml");
XElement q = (from c in xdoc.Descendants("Type")
where c.Element("Name").Value == "Test1"
select c).FirstOrDefault();

foreach (var xElement in q.Element("FileExclusions").Elements())
{
Console.WriteLine("FileExclusion -> " + xElement.Value);
}

foreach (var xElement in q.Element("FolderExclusions").Elements())
{
Console.WriteLine("FolderExclusion -> " + xElement.Value);
}

Console.ReadLine();
}
}[/CPP]
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan