c# - How to place DisplayName into Variable -


i'm trying something, may extremely simple please bear me, want 'displayname' xml file string in c# code. here's have:

this c#2.0 in vs2005

xml:

<monitorscope xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema" id="system" xmlns="http://tempuri.org/xmlschema.xsd">     <personalsafety>     <monitorresponserecord enabled="false" displayname="valvefailureatcentralposition"> <expressionmonitor> <postalarm> <alarmname>valve_position_fault</alarmname> <parameter1> sensor position = {x}</parameter1> <parameter2> sensor position = {x}</parameter2> <parameter3> sensor position = {x}</parameter3> </postalarm> </expressionmonitor> </monitorresponserecord> <monitorresponserecord ...  ... ...> ... ... ... ... , on 1600 times. 

in c# code i've attempted following no avail: c#:

public class alarmrecord {     /// <remarks/>     public string pmalarm;      /// <remarks/>     public string parameter1;      /// <remarks/>     public string parameter2;      /// <remarks/>     public string parameter3;      /// <remarks/>     public string displayname; }      protected void onpostalarm(postalarm postalarm)     {         try          {             alarmrecord alarmrecord = new alarmrecord();              alarmrecord.pmalarm    = postalarm.alarmname;             alarmrecord.parameter1 = postalarm.parameter1;             alarmrecord.parameter2 = postalarm.parameter2;             alarmrecord.parameter3 = postalarm.parameter3;              string filename = "umsm.009.8root.xml";             string fullpath;             fullpath = path.getfullpath(filename);              xmltextreader reader = new xmltextreader(new stringreader(fullpath));             system.xml.xpath.xpathdocument docnav = new system.xml.xpath.xpathdocument(reader);              system.xml.xpath.xpathnavigator q = docnav.createnavigator();             system.xml.xpath.xpathexpression exe = q.compile("monitorresponserecord/@displayname");             alarmrecord.displayname = convert.tostring(q.evaluate(exe));              alarms.enqueue( alarmrecord );          }         catch (exception e)         {             log.write(e);             onunknownresponse(postalarm);         }     } 

basically current issue durring debug issue i'm noticing in line 'reader' initialized... program throws exception here

you use xmlreader:

    protected void onpostalarm(postalarm postalarm)      {        alarmrecord record = null;        list<alarmrecord> recordlist = new list<alarmrecord>();          using(xmlreader reader = xmlreader.create("xml/bin/umsm.009.8root.xml"))         {              while (reader.read())             {                 if (reader.nodetype == xmlnodetype.element)                 {                     switch (reader.name)                     {                         case "monitorresponserecord":                             record = new alarmrecord();                             recordlist.add(record);                             reader.movetoattribute("displayname");                             record.displayname = reader.value;                             break;                          case "alarmname":                             record.pmalarm = reader.readstring();                             break;                          case "parameter1":                             record.parameter1 = reader.readstring();                             break;                          case "parameter2":                             record.parameter2 = reader.readstring();                             break;                          case "parameter3":                             record.parameter3 = reader.readstring();                             break;                     }                 }             }         } 

Comments