xml config auslesen



  • hi,

    lese mit dieser klassen eine xml datei aus

    public class PathPropertiesHandler:
                                                             IConfigurationSectionHandler
    {
    public virtual object Create(object parent,
    object context,
    XmlNode node)
    {
    PathProperties pp;
    pp = new PathProperties((PathProperties)parent);
    pp.LoadAttrFromXml(node);
    return pp;
    }
    }
    
    public class        PathProperties
    {
    string _ExecDir;
    string _DataDir;
    string _TempDir;
    
    public string ExecDir{get{return _ExecDir;}}
    public string DataDir{get{return _DataDir;}}
    public string TempDir{get{return _TempDir;}}
    
    public PathProperties(PathProperties parent)
    {
    if (parent!=null)
    {
    _ExecDir = parent._ExecDir;
    _DataDir = parent._DataDir;
    _TempDir = parent._TempDir;
    }
    }
    internal void LoadAttrFromXml(XmlNode n)
    {
    XmlAttributeCollection ac = n.Attributes;
    _ExecDir = ac["ExecDir"].Value;
    _TempDir = ac["TempDir"].Value;
    _DataDir = ac["DataDir"].Value;
    }
    }
    

    und der code zum auslesen ist

    sebdev.util.xml.xmlconf xm = new sebdev.util.xml.xmlconf();
    
    xm.writeconfig(Application.StartupPath.ToString()+@"\copyprog.exe.config","test","data","temp");
    string test;
    try
    {
    PathProperties pp =(PathProperties) ConfigurationSettings.GetConfig         ("sebdev/Path");  
    test=(string) pp.ExecDir; // hier kommt der fehler             
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message.ToString()+ex.StackTrace.ToString()+ex.Source.ToString());
    }
    

    erhalte ich den fehler der objektverweis ist nicht auf eine instanz festgelegt



  • ein fehler hat sich geklärt, aber jetzt sobal er bei getconfig ist sagt er unbekanntes elemnt zeile 7 bei dieser xml datei

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
    <configSections>
    <sectionGroup name="seb">
    <section name="Path" type="sebdev.util.config.PathPropertiesHandler,sebdev" />
    <section name="Database" type="sebdev.util.config.DatabasePropertiesHandler,sebdev" />
    <sebdev> //hier
    <Path ExecDir="test" TempDir="temp" DataDir="data" />
    <Database Typ="typ" Server="server" User="user" Pass="pass" DB="db" />
    </sebdev>
    </sectionGroup>
    </configSections>
    </configuration>


Anmelden zum Antworten