Jag har denna XML-fil: Hej! Så här har jag gjort... Importera XML och IOLättaste sätt att ta ut data ur XML-fil
<code>
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--How many minutes a user is online "green" -->
<online minutes="3"/>
<!--How many minutes a user is offline "red" -->
<offline minutes="10"/>
<!--How many minutes the conversation is saved, If 0 all conversation is saved -->
<history minutes="0"/>
</configuration>
</code>
Nu till frågan, Hur hämtar jag ut värden online, offline och history lättast mha C#??
mvh icaaqSv: Lättaste sätt att ta ut data ur XML-fil
Håller inte på med .XML just nu, men jag undrar om du inte kan göra något i denna väg (Om inte annat får du kanske lite idéer om var du kan börja...)
<code>
XmlDocument xmlDoc;
xmlDoc.Load("C:\\DinXMLFil.xml");
XmlNodeList xmlLst = xmlDoc.GetElementsByTagName("*");
foreach(XmlNode node in xmlLst)
Debug.WriteLine(node.Name + " " + node.InnerText);
</code>
//AndersSv: Lättaste sätt att ta ut data ur XML-fil
ska du ha din minutes till int så kan du ju köra Integer.Parse()...
<code>
public void FromXML(string file)
{
if(File.Exists(file))
{
StreamReader sr=new StreamReader(file);
XmlTextReader xtr=new XmlTextReader(sr);
xtr.WhitespaceHandling = WhitespaceHandling.None;
bool foundBegin=false;
while(xtr.Read())
{
switch (xtr.NodeType)
{
case XmlNodeType.Element:
if(xtr.Name.ToLower().Equals("configuration"))foundBegin=true;
StartElement(xtr,xtr.Name);
break;
}
}
if(!foundBegin)
{
throw new Exception("Invalid format of file");
}
}
}
private void StartElement(XmlTextReader reader,string elementName)
{
switch (elementName.ToLower())
{
case "online":
online=reader.GetAttribut("minutes");
break;
case "offline":
offline=reader.GetAttribut("minutes");
break;
case "history":
history=reader.GetAttribut("minutes");
break;
}
}
</code>