Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/14/08 21:51:15 (16 years ago)
Author:
gkronber
Message:

created a branch that uses XmlTextReader instead of XMLDocument to load documents. Investigating ticket #103. (...work in progress!)

Location:
branches/XmlTextReaderBranch
Files:
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • branches/XmlTextReaderBranch/HeuristicLab.DataAnalysis/Dataset.cs

    r2 r121  
    141141    }
    142142
    143     public override void Populate(XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {
    144       base.Populate(node, restoredObjects);
    145       Name = node.Attributes["Name"].Value;
    146       rows = int.Parse(node.Attributes["Dimension1"].Value, CultureInfo.InvariantCulture.NumberFormat);
    147       columns = int.Parse(node.Attributes["Dimension2"].Value, CultureInfo.InvariantCulture.NumberFormat);
    148      
    149       VariableNames = ParseVariableNamesString(node.Attributes["VariableNames"].Value);
    150 
    151       string[] tokens = node.InnerText.Split(';');
     143    //public override void Populate(XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {
     144    //  base.Populate(node, restoredObjects);
     145    //  Name = node.Attributes["Name"].Value;
     146    //  rows = int.Parse(node.Attributes["Dimension1"].Value, CultureInfo.InvariantCulture.NumberFormat);
     147    //  columns = int.Parse(node.Attributes["Dimension2"].Value, CultureInfo.InvariantCulture.NumberFormat);
     148
     149    //  VariableNames = ParseVariableNamesString(node.Attributes["VariableNames"].Value);
     150
     151    //  string[] tokens = node.InnerText.Split(';');
     152    //  if(tokens.Length != rows * columns) throw new FormatException();
     153    //  samples = new double[rows * columns];
     154    //  for(int row = 0; row < rows; row++) {
     155    //    for(int column = 0; column < columns; column++) {
     156    //      if(double.TryParse(tokens[row * columns + column], NumberStyles.Float, CultureInfo.InvariantCulture.NumberFormat, out samples[row * columns + column]) == false) {
     157    //        throw new FormatException("Can't parse " + tokens[row * columns + column] + " as double value.");
     158    //      }
     159    //    }
     160    //  }
     161    //  CreateDictionaries();
     162    //}
     163    public override void Populate(XmlReader reader, IDictionary<Guid, IStorable> restoredObjects) {
     164      base.Populate(reader, restoredObjects);
     165      Name = reader["Name"];
     166      rows = int.Parse(reader["Dimension1"], CultureInfo.InvariantCulture.NumberFormat);
     167      columns = int.Parse(reader["Dimension2"], CultureInfo.InvariantCulture.NumberFormat);
     168
     169      VariableNames = ParseVariableNamesString(reader["VariableNames"]);
     170
     171      string[] tokens = reader.ReadString().Split(';');
    152172      if(tokens.Length != rows * columns) throw new FormatException();
    153173      samples = new double[rows * columns];
    154174      for(int row = 0; row < rows; row++) {
    155175        for(int column = 0; column < columns; column++) {
    156           if(double.TryParse(tokens[row * columns + column], NumberStyles.Float, CultureInfo.InvariantCulture.NumberFormat, out samples[row*columns + column]) == false) {
     176          if(double.TryParse(tokens[row * columns + column], NumberStyles.Float, CultureInfo.InvariantCulture.NumberFormat, out samples[row * columns + column]) == false) {
    157177            throw new FormatException("Can't parse " + tokens[row * columns + column] + " as double value.");
    158178          }
Note: See TracChangeset for help on using the changeset viewer.