System.Xml.XmlDocument

Status
Niet open voor verdere reacties.

Snoeks

Gebruiker
Lid geworden
9 jul 2010
Berichten
5
Hi,

Ik ben onlangs begonnen met c# en loop tegen een probleem aan mbt assembly references. Ik heb aan mijn project onder 'references' System.Xml staan. Toch krijg ik bij de volgende declaratie: XmlDocument xmldoc = new XmlDocument();

de errormelding:

The type or namespace name 'XmlDocument' could not be found (are you missing a using directive or an assembly reference?)

Als iemand me zou kunnen helpen zou ik erg dankbaar zijn!!!
 
Bedankt voor je reactie, maar ik had de using System.Xml al staan (vergeten bij mijn post te zetten).

Dus ondanks dat ik System.Xml gebruik in mijn code en ik heb het expliciet toegevoegd onder references wordt de declaratie XmlDocument niet herkent door de compiler.
 
Het bijzondere is dat je normaal XML niet als reference hoeft toe te voegen die is namelijk standaard. Maar je hebt dus dit?

Code:
using System;
using System.Xml;

public class classname
{
    protected void Load(object sender, EventArgs e)
    {
        XmlDocument xmldoc = new XmlDocument();
    }
}

Of declareer je hem niet in een void, dan moet het namelijk zijn:

Code:
using System;
using System.Xml;

public class classname
{
    private XmlDocument xmldoc = new XmlDocument();

    protected void Load(object sender, EventArgs e)
    {
        
    }
}
 
Ik gebruik de declaratie binnen 'private void button1_Click'

Overigens heb ik het probleem alleen als ik binnen een Silverlight webapp zit. Bij een winform app krijg ik de melding niet.

Nu heb ik op http://www.kirupa.com/blend_silverlight/loading_xml_sl2_pg1.htm een voorbeeld gezien van het gebruik van xml in een silverlight app, maar daarin wordt gebruik gemaakt van:

private void LoadXMLFile()
{
WebClient xmlClient = new WebClient();
xmlClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(XMLFileLoaded);
xmlClient.DownloadStringAsync(new Uri("sampleXML.xml", UriKind.RelativeOrAbsolute));
}

void XMLFileLoaded(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error == null)
{
string xmlData = e.Result;
HtmlPage.Window.Alert(xmlData);
}
}

Ik probeerde deze code te herschrijven naar een vorm waarom ik ipv de HtmlPage.Window.Alert(xmlData) een treeview gebruik. Hierbij loop ik tegen het probleem aan dat e.Result een string is.

Terwijl ik dit probleem probeerde op te lossen voegde ik een XmlDocument declaratie toe aan de code... daarop krijg ik genoemde foutmelding.

Het lijkt erop dat Silverlight apps niet werken met Xml.XmlDocument maar met WebClient. Of is die conclusie onjuist?

Alvast dank voor je hulp!
 
Hey,

ik heb er zelf geen ervaring mee, maar volgens mij is Silverlight een applicatie dat op die Client draait.
Deze wordt gedownload door de browser als je deze nodig hebt.
Dus omdat die op de client draait, moet de XML gedownload worden van de server.
Waarschijnlijk moet je daarom de XML downloaden.

En op een silverlight forum heb ik gelezen dat je XDocument wel kun gebruiken.
Deze is van Linq en best makkelijk in gebruik.

Dus eerst de XML downloaden met het voorbeeld die je zelf gaf en dan een XDocument van maken.

Succes,
Mathijs
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan