Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
swdev:dotnet:using_xml [2011/11/02 16:02]
smayr
swdev:dotnet:using_xml [2011/11/02 16:13] (current)
smayr
Line 1: Line 1:
-== Using XML ==+= Using XML =
  
 Editing XML Editing XML
Line 5: Line 5:
 Normally, binding a ListView to a datasource (the xml) and let WPF databinding handle the update of the XML data automatically. To do this you could create a [[http://msdn.microsoft.com/en-us/library/84sxtbxh(VS.80).aspx|DataSet from your XML]] and then bind that using ListView.ItemsSource. You would then create a DataTemplate to define the visual representation of a record in your xml. This could be input controls that'd allow you do directly edit the record within your listview. If you prefer a master-detail style view you would bing the detail view to the current item of your listview (e.g. UserControl.DataContext={Binding CurrentItem, ElementName=myListView}). The rest will be handled by WPF. UPDATE: Here is an [[http://msdn.microsoft.com/en-us/library/cc165615.aspx|example]] how you could even bind directly to your XDocument, so so you do not necessarily have to use DataSets. (Source: [[http://stackoverflow.com/questions/1659734/wpf-and-c-gridview-row-selection-and-xml-datasource-how-to-make-the-connecti|bitbonk on StackOverflow.com]]) Normally, binding a ListView to a datasource (the xml) and let WPF databinding handle the update of the XML data automatically. To do this you could create a [[http://msdn.microsoft.com/en-us/library/84sxtbxh(VS.80).aspx|DataSet from your XML]] and then bind that using ListView.ItemsSource. You would then create a DataTemplate to define the visual representation of a record in your xml. This could be input controls that'd allow you do directly edit the record within your listview. If you prefer a master-detail style view you would bing the detail view to the current item of your listview (e.g. UserControl.DataContext={Binding CurrentItem, ElementName=myListView}). The rest will be handled by WPF. UPDATE: Here is an [[http://msdn.microsoft.com/en-us/library/cc165615.aspx|example]] how you could even bind directly to your XDocument, so so you do not necessarily have to use DataSets. (Source: [[http://stackoverflow.com/questions/1659734/wpf-and-c-gridview-row-selection-and-xml-datasource-how-to-make-the-connecti|bitbonk on StackOverflow.com]])
    
-=== Parsing XML ===+== Parsing XML ==
  
 Example (Source: [[http://stackoverflow.com/questions/55828/best-practices-to-parse-xml-files|Lukas Šalkauskas]]): Example (Source: [[http://stackoverflow.com/questions/55828/best-practices-to-parse-xml-files|Lukas Šalkauskas]]):
Line 38: Line 38:
   * [[http://msdn.microsoft.com/en-us/library/bb387098.aspx|LINQ to XML]]   * [[http://msdn.microsoft.com/en-us/library/bb387098.aspx|LINQ to XML]]
   * [[http://msdn.microsoft.com/en-us/library/182eeyhh.aspx|Intro to XML Serialization]]   * [[http://msdn.microsoft.com/en-us/library/182eeyhh.aspx|Intro to XML Serialization]]
-=== Using LINQ with XML ===+ 
 +== Using LINQ with XML ==
  
 Example: (Source: [[http://stackoverflow.com/questions/1659734/wpf-and-c-gridview-row-selection-and-xml-datasource-how-to-make-the-connecti|StackOverflow.com]]) Example: (Source: [[http://stackoverflow.com/questions/1659734/wpf-and-c-gridview-row-selection-and-xml-datasource-how-to-make-the-connecti|StackOverflow.com]])
Line 79: Line 80:
 Source: [[http://stackoverflow.com/questions/472669/c-freely-convert-between-listt-and-ienumerablet|David B, Frederik Gheysels]] Source: [[http://stackoverflow.com/questions/472669/c-freely-convert-between-listt-and-ienumerablet|David B, Frederik Gheysels]]
  
-== Examples =+= Examples = 
-=== Loading and Parsing an XML File into a Data Structure ===+== Loading and Parsing an XML File into a Data Structure ==
  
 For an XML file like this: For an XML file like this:
Line 272: Line 273:
 </code> </code>
  
-== Example using XmlDocument, XmlElement, XmlNodeList ===+== Example using XmlDocument, XmlElement, XmlNodeList ==
  
 +Sample Data:
 +<code xml>
 +<FittingSession>
 +  <Instruments>
 +    <Instrument Name="Cue" ProductCode="PROD_CUE" EarSide="0" MaxMemories="5">
 +      <AutofitEnvironments>
 +        <AutofitEnvironment Name="Undefined" Index="0" Memory="0" />
 +        <AutofitEnvironment Name="Undefined" Index="0" Memory="1" />
 +        <AutofitEnvironment Name="Undefined" Index="0" Memory="2" />
 +        <AutofitEnvironment Name="Undefined" Index="0" Memory="3" />
 +      </AutofitEnvironments>
 +      <ParametersConfig>
 +        <Param Name="number_of_programs" Value="0" />
 +        <Param Name="program_switch_mode" Value="0" />
 +        . . .
 +      </ParametersConfig>
 +      <ParametersCustom>
 +        . . .
 +      </ParametersCustom>
 +      <ParametersMemory>
 +        <Memory Number="0">
 +          <Param Name="Input_mux" Value="0" />
 +          <Param Name="Preamp_gain0" Value="4" />
 +          . . .
 +        </Memory>
 +        <Memory Number="1">
 +          . . .
 +        </Memory>
 +        <Memory Number="2">
 +          . . .
 +        </Memory>
 +        <Memory Number="3">
 +          . . .
 +        </Memory>
 +      </ParametersMemory>
 +    </Instrument>
 +    
 +    <Instrument Name="Cue" ProductCode="PROD_CUE" EarSide="1" MaxMemories="5">
 +      . . .
 +    </Instrument>
 +    
 +  </Instruments>
 +</FittingSession>
 +</code>
 +
 +Code to load Xml document:
 <code csharp> <code csharp>
 ///---------------------------------------------------------------------------------------- ///----------------------------------------------------------------------------------------
Line 409: Line 456:
 </code> </code>
  
-Sample Data: += References =
-<code xml> +
-<FittingSession> +
-  <Instruments> +
-    <Instrument Name="Cue" ProductCode="PROD_CUE" EarSide="0" MaxMemories="5"> +
-      <AutofitEnvironments> +
-        <AutofitEnvironment Name="Undefined" Index="0" Memory="0" /> +
-        <AutofitEnvironment Name="Undefined" Index="0" Memory="1" /> +
-        <AutofitEnvironment Name="Undefined" Index="0" Memory="2" /> +
-        <AutofitEnvironment Name="Undefined" Index="0" Memory="3" /> +
-      </AutofitEnvironments> +
-      <ParametersConfig> +
-        <Param Name="number_of_programs" Value="0" /> +
-        <Param Name="program_switch_mode" Value="0" /> +
-        <Param Name="ExternalVC" Value="0" /> +
-        <Param Name="VC_Range" Value="0" /> +
-        <Param Name="VC_pos" Value="0" /> +
-        <Param Name="Dir_Spacing" Value="0" /> +
-        <Param Name="AD_Sens" Value="0" /> +
-        <Param Name="MANF_ID" Value="0" /> +
-        <Param Name="Switch_Tone" Value="0" /> +
-        <Param Name="Low_Batt_Warning" Value="0" /> +
-        <Param Name="Tone_Frequency" Value="0" /> +
-        <Param Name="Tone_Level" Value="0" /> +
-        <Param Name="Tone_Reference" Value="0" /> +
-        <Param Name="Noise_Level" Value="0" /> +
-        <Param Name="ATC" Value="0" /> +
-        <Param Name="PowerOnLevel" Value="0" /> +
-        <Param Name="PowerOnDelay" Value="0" /> +
-        <Param Name="Cal_Input" Value="0" /> +
-        <Param Name="Mic_Cal" Value="0" /> +
-        <Param Name="EnableHPmode" Value="0" /> +
-        <Param Name="PlatformID" Value="0" /> +
-        <Param Name="AlgVer_Major" Value="0" /> +
-        <Param Name="AlgVer_Minor" Value="0" /> +
-        <Param Name="reserved1" Value="0" /> +
-        <Param Name="reserved2" Value="0" /> +
-        <Param Name="test" Value="0" /> +
-        <Param Name="MANF_reserve_1" Value="0" /> +
-        <Param Name="MANF_reserve_2" Value="0" /> +
-        <Param Name="MANF_reserve_3" Value="0" /> +
-        <Param Name="MANF_reserve_4" Value="0" /> +
-        <Param Name="MANF_reserve_5" Value="0" /> +
-        <Param Name="MANF_reserve_6" Value="0" /> +
-        <Param Name="MANF_reserve_7" Value="0" /> +
-        <Param Name="MANF_reserve_8" Value="0" /> +
-        <Param Name="MANF_reserve_9" Value="0" /> +
-        <Param Name="MANF_reserve_10" Value="0" /> +
-      </ParametersConfig> +
-      <ParametersCustom> +
-        <Param Name="StyleID" Value="0" /> +
-        <Param Name="VCStartPos" Value="0" /> +
-        <Param Name="AdaptiveDir" Value="0" /> +
-        <Param Name="VCRangeInDb" Value="50" /> +
-        <Param Name="ProductStyleID" Value="0" /> +
-        <Param Name="TubingType" Value="0" /> +
-        <Param Name="BrandID" Value="0" /> +
-        <Param Name="DirectionalMic" Value="0" /> +
-        <Param Name="HasExternalVC" Value="0" /> +
-        <Param Name="HasDigitalVC" Value="0" /> +
-        <Param Name="HasTCoil" Value="0" /> +
-        <Param Name="HasAutoTCoil" Value="0" /> +
-        <Param Name="MemoryAccessType" Value="0" /> +
-        <Param Name="TubingSize" Value="0" /> +
-        <Param Name="DomeSize" Value="0" /> +
-        <Param Name="VentSize" Value="0" /> +
-      </ParametersCustom> +
-      <ParametersMemory> +
-        <Memory Number="0"> +
-          <Param Name="Input_mux" Value="0" /> +
-          <Param Name="Preamp_gain0" Value="4" /> +
-          <Param Name="Preamp_gain1" Value="4" /> +
-          <Param Name="C1_Ratio" Value="8" /> +
-          <Param Name="C2_Ratio" Value="8" /> +
-          <Param Name="C3_Ratio" Value="7" /> +
-          <Param Name="C4_Ratio" Value="7" /> +
-          <Param Name="C5_Ratio" Value="6" /> +
-          <Param Name="C6_Ratio" Value="6" /> +
-          <Param Name="C7_Ratio" Value="5" /> +
-          <Param Name="C8_Ratio" Value="0" /> +
-          <Param Name="C1_TK" Value="2" /> +
-          <Param Name="C2_TK" Value="2" /> +
-          <Param Name="C3_TK" Value="2" /> +
-          <Param Name="C4_TK" Value="2" /> +
-          <Param Name="C5_TK" Value="2" /> +
-          <Param Name="C6_TK" Value="2" /> +
-          <Param Name="C7_TK" Value="2" /> +
-          <Param Name="C8_TK" Value="2" /> +
-          <Param Name="C1_MPO" Value="0" /> +
-          <Param Name="C2_MPO" Value="0" /> +
-          <Param Name="C3_MPO" Value="0" /> +
-          <Param Name="C4_MPO" Value="0" /> +
-          <Param Name="C5_MPO" Value="0" /> +
-          <Param Name="C6_MPO" Value="0" /> +
-          <Param Name="C7_MPO" Value="0" /> +
-          <Param Name="C8_MPO" Value="0" /> +
-          <Param Name="BEQ01_gain" Value="17" /> +
-          <Param Name="BEQ02_gain" Value="17" /> +
-          <Param Name="BEQ03_gain" Value="17" /> +
-          <Param Name="BEQ04_gain" Value="17" /> +
-          <Param Name="BEQ05_gain" Value="17" /> +
-          <Param Name="BEQ06_gain" Value="17" /> +
-          <Param Name="BEQ07_gain" Value="17" /> +
-          <Param Name="BEQ08_gain" Value="17" /> +
-          <Param Name="BEQ09_gain" Value="17" /> +
-          <Param Name="BEQ10_gain" Value="17" /> +
-          <Param Name="BEQ11_gain" Value="17" /> +
-          <Param Name="BEQ12_gain" Value="17" /> +
-          <Param Name="Matrix_gain" Value="7" /> +
-          <Param Name="Noise_Reduction" Value="0" /> +
-          <Param Name="FBC_Enable" Value="0" /> +
-          <Param Name="TimeConstants" Value="0" /> +
-        </Memory> +
-        <Memory Number="1"> +
-          <Param Name="Input_mux" Value="0" /> +
-          <Param Name="Preamp_gain0" Value="4" /> +
-          <Param Name="Preamp_gain1" Value="4" /> +
-          <Param Name="C1_Ratio" Value="0" /> +
-          <Param Name="C2_Ratio" Value="0" /> +
-          <Param Name="C3_Ratio" Value="0" /> +
-          <Param Name="C4_Ratio" Value="0" /> +
-          <Param Name="C5_Ratio" Value="0" /> +
-          <Param Name="C6_Ratio" Value="0" /> +
-          <Param Name="C7_Ratio" Value="0" /> +
-          <Param Name="C8_Ratio" Value="0" /> +
-          <Param Name="C1_TK" Value="2" /> +
-          <Param Name="C2_TK" Value="2" /> +
-          <Param Name="C3_TK" Value="2" /> +
-          <Param Name="C4_TK" Value="2" /> +
-          <Param Name="C5_TK" Value="2" /> +
-          <Param Name="C6_TK" Value="2" /> +
-          <Param Name="C7_TK" Value="2" /> +
-          <Param Name="C8_TK" Value="2" /> +
-          <Param Name="C1_MPO" Value="1" /> +
-          <Param Name="C2_MPO" Value="1" /> +
-          <Param Name="C3_MPO" Value="1" /> +
-          <Param Name="C4_MPO" Value="1" /> +
-          <Param Name="C5_MPO" Value="1" /> +
-          <Param Name="C6_MPO" Value="1" /> +
-          <Param Name="C7_MPO" Value="1" /> +
-          <Param Name="C8_MPO" Value="1" /> +
-          <Param Name="BEQ01_gain" Value="18" /> +
-          <Param Name="BEQ02_gain" Value="18" /> +
-          <Param Name="BEQ03_gain" Value="18" /> +
-          <Param Name="BEQ04_gain" Value="18" /> +
-          <Param Name="BEQ05_gain" Value="18" /> +
-          <Param Name="BEQ06_gain" Value="18" /> +
-          <Param Name="BEQ07_gain" Value="18" /> +
-          <Param Name="BEQ08_gain" Value="18" /> +
-          <Param Name="BEQ09_gain" Value="18" /> +
-          <Param Name="BEQ10_gain" Value="18" /> +
-          <Param Name="BEQ11_gain" Value="18" /> +
-          <Param Name="BEQ12_gain" Value="18" /> +
-          <Param Name="Matrix_gain" Value="32" /> +
-          <Param Name="Noise_Reduction" Value="0" /> +
-          <Param Name="FBC_Enable" Value="1" /> +
-          <Param Name="TimeConstants" Value="7" /> +
-        </Memory> +
-        <Memory Number="2"> +
-          <Param Name="Input_mux" Value="0" /> +
-          <Param Name="Preamp_gain0" Value="4" /> +
-          <Param Name="Preamp_gain1" Value="4" /> +
-          <Param Name="C1_Ratio" Value="0" /> +
-          <Param Name="C2_Ratio" Value="0" /> +
-          <Param Name="C3_Ratio" Value="0" /> +
-          <Param Name="C4_Ratio" Value="0" /> +
-          <Param Name="C5_Ratio" Value="0" /> +
-          <Param Name="C6_Ratio" Value="0" /> +
-          <Param Name="C7_Ratio" Value="0" /> +
-          <Param Name="C8_Ratio" Value="0" /> +
-          <Param Name="C1_TK" Value="2" /> +
-          <Param Name="C2_TK" Value="2" /> +
-          <Param Name="C3_TK" Value="2" /> +
-          <Param Name="C4_TK" Value="2" /> +
-          <Param Name="C5_TK" Value="2" /> +
-          <Param Name="C6_TK" Value="2" /> +
-          <Param Name="C7_TK" Value="2" /> +
-          <Param Name="C8_TK" Value="2" /> +
-          <Param Name="C1_MPO" Value="1" /> +
-          <Param Name="C2_MPO" Value="1" /> +
-          <Param Name="C3_MPO" Value="1" /> +
-          <Param Name="C4_MPO" Value="1" /> +
-          <Param Name="C5_MPO" Value="1" /> +
-          <Param Name="C6_MPO" Value="1" /> +
-          <Param Name="C7_MPO" Value="1" /> +
-          <Param Name="C8_MPO" Value="1" /> +
-          <Param Name="BEQ01_gain" Value="18" /> +
-          <Param Name="BEQ02_gain" Value="18" /> +
-          <Param Name="BEQ03_gain" Value="18" /> +
-          <Param Name="BEQ04_gain" Value="18" /> +
-          <Param Name="BEQ05_gain" Value="18" /> +
-          <Param Name="BEQ06_gain" Value="18" /> +
-          <Param Name="BEQ07_gain" Value="18" /> +
-          <Param Name="BEQ08_gain" Value="18" /> +
-          <Param Name="BEQ09_gain" Value="18" /> +
-          <Param Name="BEQ10_gain" Value="18" /> +
-          <Param Name="BEQ11_gain" Value="18" /> +
-          <Param Name="BEQ12_gain" Value="18" /> +
-          <Param Name="Matrix_gain" Value="32" /> +
-          <Param Name="Noise_Reduction" Value="0" /> +
-          <Param Name="FBC_Enable" Value="1" /> +
-          <Param Name="TimeConstants" Value="7" /> +
-        </Memory> +
-        <Memory Number="3"> +
-          <Param Name="Input_mux" Value="0" /> +
-          <Param Name="Preamp_gain0" Value="4" /> +
-          <Param Name="Preamp_gain1" Value="4" /> +
-          <Param Name="C1_Ratio" Value="0" /> +
-          <Param Name="C2_Ratio" Value="0" /> +
-          <Param Name="C3_Ratio" Value="0" /> +
-          <Param Name="C4_Ratio" Value="0" /> +
-          <Param Name="C5_Ratio" Value="0" /> +
-          <Param Name="C6_Ratio" Value="0" /> +
-          <Param Name="C7_Ratio" Value="0" /> +
-          <Param Name="C8_Ratio" Value="0" /> +
-          <Param Name="C1_TK" Value="2" /> +
-          <Param Name="C2_TK" Value="2" /> +
-          <Param Name="C3_TK" Value="2" /> +
-          <Param Name="C4_TK" Value="2" /> +
-          <Param Name="C5_TK" Value="2" /> +
-          <Param Name="C6_TK" Value="2" /> +
-          <Param Name="C7_TK" Value="2" /> +
-          <Param Name="C8_TK" Value="2" /> +
-          <Param Name="C1_MPO" Value="1" /> +
-          <Param Name="C2_MPO" Value="1" /> +
-          <Param Name="C3_MPO" Value="1" /> +
-          <Param Name="C4_MPO" Value="1" /> +
-          <Param Name="C5_MPO" Value="1" /> +
-          <Param Name="C6_MPO" Value="1" /> +
-          <Param Name="C7_MPO" Value="1" /> +
-          <Param Name="C8_MPO" Value="1" /> +
-          <Param Name="BEQ01_gain" Value="18" /> +
-          <Param Name="BEQ02_gain" Value="18" /> +
-          <Param Name="BEQ03_gain" Value="18" /> +
-          <Param Name="BEQ04_gain" Value="18" /> +
-          <Param Name="BEQ05_gain" Value="18" /> +
-          <Param Name="BEQ06_gain" Value="18" /> +
-          <Param Name="BEQ07_gain" Value="18" /> +
-          <Param Name="BEQ08_gain" Value="18" /> +
-          <Param Name="BEQ09_gain" Value="18" /> +
-          <Param Name="BEQ10_gain" Value="18" /> +
-          <Param Name="BEQ11_gain" Value="18" /> +
-          <Param Name="BEQ12_gain" Value="18" /> +
-          <Param Name="Matrix_gain" Value="32" /> +
-          <Param Name="Noise_Reduction" Value="0" /> +
-          <Param Name="FBC_Enable" Value="1" /> +
-          <Param Name="TimeConstants" Value="7" /> +
-        </Memory> +
-      </ParametersMemory> +
-    </Instrument> +
-    <Instrument Name="Cue" ProductCode="PROD_CUE" EarSide="1" MaxMemories="5"> +
-      <AutofitEnvironments> +
-        <AutofitEnvironment Name="Undefined" Index="0" Memory="0" /> +
-        <AutofitEnvironment Name="Undefined" Index="0" Memory="1" /> +
-        <AutofitEnvironment Name="Undefined" Index="0" Memory="2" /> +
-        <AutofitEnvironment Name="Undefined" Index="0" Memory="3" /> +
-      </AutofitEnvironments> +
-      <ParametersConfig> +
-        <Param Name="number_of_programs" Value="0" /> +
-        <Param Name="program_switch_mode" Value="0" /> +
-        <Param Name="ExternalVC" Value="0" /> +
-        <Param Name="VC_Range" Value="0" /> +
-        <Param Name="VC_pos" Value="0" /> +
-        <Param Name="Dir_Spacing" Value="0" /> +
-        <Param Name="AD_Sens" Value="0" /> +
-        <Param Name="MANF_ID" Value="0" /> +
-        <Param Name="Switch_Tone" Value="0" /> +
-        <Param Name="Low_Batt_Warning" Value="0" /> +
-        <Param Name="Tone_Frequency" Value="0" /> +
-        <Param Name="Tone_Level" Value="0" /> +
-        <Param Name="Tone_Reference" Value="0" /> +
-        <Param Name="Noise_Level" Value="0" /> +
-        <Param Name="ATC" Value="0" /> +
-        <Param Name="PowerOnLevel" Value="0" /> +
-        <Param Name="PowerOnDelay" Value="0" /> +
-        <Param Name="Cal_Input" Value="0" /> +
-        <Param Name="Mic_Cal" Value="0" /> +
-        <Param Name="EnableHPmode" Value="0" /> +
-        <Param Name="PlatformID" Value="0" /> +
-        <Param Name="AlgVer_Major" Value="0" /> +
-        <Param Name="AlgVer_Minor" Value="0" /> +
-        <Param Name="reserved1" Value="0" /> +
-        <Param Name="reserved2" Value="56426" /> +
-        <Param Name="test" Value="0" /> +
-        <Param Name="MANF_reserve_1" Value="0" /> +
-        <Param Name="MANF_reserve_2" Value="0" /> +
-        <Param Name="MANF_reserve_3" Value="0" /> +
-        <Param Name="MANF_reserve_4" Value="0" /> +
-        <Param Name="MANF_reserve_5" Value="0" /> +
-        <Param Name="MANF_reserve_6" Value="0" /> +
-        <Param Name="MANF_reserve_7" Value="0" /> +
-        <Param Name="MANF_reserve_8" Value="0" /> +
-        <Param Name="MANF_reserve_9" Value="0" /> +
-        <Param Name="MANF_reserve_10" Value="0" /> +
-      </ParametersConfig> +
-      <ParametersCustom> +
-        <Param Name="StyleID" Value="0" /> +
-        <Param Name="VCStartPos" Value="0" /> +
-        <Param Name="AdaptiveDir" Value="0" /> +
-        <Param Name="VCRangeInDb" Value="50" /> +
-        <Param Name="ProductStyleID" Value="0" /> +
-        <Param Name="TubingType" Value="0" /> +
-        <Param Name="BrandID" Value="0" /> +
-        <Param Name="DirectionalMic" Value="0" /> +
-        <Param Name="HasExternalVC" Value="0" /> +
-        <Param Name="HasDigitalVC" Value="0" /> +
-        <Param Name="HasTCoil" Value="0" /> +
-        <Param Name="HasAutoTCoil" Value="0" /> +
-        <Param Name="MemoryAccessType" Value="0" /> +
-        <Param Name="TubingSize" Value="0" /> +
-        <Param Name="DomeSize" Value="0" /> +
-        <Param Name="VentSize" Value="0" /> +
-      </ParametersCustom> +
-      <ParametersMemory> +
-        <Memory Number="0"> +
-          <Param Name="Input_mux" Value="0" /> +
-          <Param Name="Preamp_gain0" Value="4" /> +
-          <Param Name="Preamp_gain1" Value="4" /> +
-          <Param Name="C1_Ratio" Value="8" /> +
-          <Param Name="C2_Ratio" Value="8" /> +
-          <Param Name="C3_Ratio" Value="7" /> +
-          <Param Name="C4_Ratio" Value="7" /> +
-          <Param Name="C5_Ratio" Value="6" /> +
-          <Param Name="C6_Ratio" Value="6" /> +
-          <Param Name="C7_Ratio" Value="5" /> +
-          <Param Name="C8_Ratio" Value="0" /> +
-          <Param Name="C1_TK" Value="2" /> +
-          <Param Name="C2_TK" Value="2" /> +
-          <Param Name="C3_TK" Value="2" /> +
-          <Param Name="C4_TK" Value="2" /> +
-          <Param Name="C5_TK" Value="2" /> +
-          <Param Name="C6_TK" Value="2" /> +
-          <Param Name="C7_TK" Value="2" /> +
-          <Param Name="C8_TK" Value="2" /> +
-          <Param Name="C1_MPO" Value="0" /> +
-          <Param Name="C2_MPO" Value="0" /> +
-          <Param Name="C3_MPO" Value="0" /> +
-          <Param Name="C4_MPO" Value="0" /> +
-          <Param Name="C5_MPO" Value="0" /> +
-          <Param Name="C6_MPO" Value="0" /> +
-          <Param Name="C7_MPO" Value="0" /> +
-          <Param Name="C8_MPO" Value="0" /> +
-          <Param Name="BEQ01_gain" Value="17" /> +
-          <Param Name="BEQ02_gain" Value="17" /> +
-          <Param Name="BEQ03_gain" Value="17" /> +
-          <Param Name="BEQ04_gain" Value="17" /> +
-          <Param Name="BEQ05_gain" Value="17" /> +
-          <Param Name="BEQ06_gain" Value="17" /> +
-          <Param Name="BEQ07_gain" Value="17" /> +
-          <Param Name="BEQ08_gain" Value="17" /> +
-          <Param Name="BEQ09_gain" Value="17" /> +
-          <Param Name="BEQ10_gain" Value="17" /> +
-          <Param Name="BEQ11_gain" Value="17" /> +
-          <Param Name="BEQ12_gain" Value="17" /> +
-          <Param Name="Matrix_gain" Value="7" /> +
-          <Param Name="Noise_Reduction" Value="0" /> +
-          <Param Name="FBC_Enable" Value="0" /> +
-          <Param Name="TimeConstants" Value="0" /> +
-        </Memory> +
-        <Memory Number="1"> +
-          <Param Name="Input_mux" Value="0" /> +
-          <Param Name="Preamp_gain0" Value="4" /> +
-          <Param Name="Preamp_gain1" Value="4" /> +
-          <Param Name="C1_Ratio" Value="0" /> +
-          <Param Name="C2_Ratio" Value="0" /> +
-          <Param Name="C3_Ratio" Value="0" /> +
-          <Param Name="C4_Ratio" Value="0" /> +
-          <Param Name="C5_Ratio" Value="0" /> +
-          <Param Name="C6_Ratio" Value="0" /> +
-          <Param Name="C7_Ratio" Value="0" /> +
-          <Param Name="C8_Ratio" Value="0" /> +
-          <Param Name="C1_TK" Value="2" /> +
-          <Param Name="C2_TK" Value="2" /> +
-          <Param Name="C3_TK" Value="2" /> +
-          <Param Name="C4_TK" Value="2" /> +
-          <Param Name="C5_TK" Value="2" /> +
-          <Param Name="C6_TK" Value="2" /> +
-          <Param Name="C7_TK" Value="2" /> +
-          <Param Name="C8_TK" Value="2" /> +
-          <Param Name="C1_MPO" Value="1" /> +
-          <Param Name="C2_MPO" Value="1" /> +
-          <Param Name="C3_MPO" Value="1" /> +
-          <Param Name="C4_MPO" Value="1" /> +
-          <Param Name="C5_MPO" Value="1" /> +
-          <Param Name="C6_MPO" Value="1" /> +
-          <Param Name="C7_MPO" Value="1" /> +
-          <Param Name="C8_MPO" Value="1" /> +
-          <Param Name="BEQ01_gain" Value="18" /> +
-          <Param Name="BEQ02_gain" Value="18" /> +
-          <Param Name="BEQ03_gain" Value="18" /> +
-          <Param Name="BEQ04_gain" Value="18" /> +
-          <Param Name="BEQ05_gain" Value="18" /> +
-          <Param Name="BEQ06_gain" Value="18" /> +
-          <Param Name="BEQ07_gain" Value="18" /> +
-          <Param Name="BEQ08_gain" Value="18" /> +
-          <Param Name="BEQ09_gain" Value="18" /> +
-          <Param Name="BEQ10_gain" Value="18" /> +
-          <Param Name="BEQ11_gain" Value="18" /> +
-          <Param Name="BEQ12_gain" Value="18" /> +
-          <Param Name="Matrix_gain" Value="32" /> +
-          <Param Name="Noise_Reduction" Value="0" /> +
-          <Param Name="FBC_Enable" Value="1" /> +
-          <Param Name="TimeConstants" Value="7" /> +
-        </Memory> +
-        <Memory Number="2"> +
-          <Param Name="Input_mux" Value="0" /> +
-          <Param Name="Preamp_gain0" Value="4" /> +
-          <Param Name="Preamp_gain1" Value="4" /> +
-          <Param Name="C1_Ratio" Value="0" /> +
-          <Param Name="C2_Ratio" Value="0" /> +
-          <Param Name="C3_Ratio" Value="0" /> +
-          <Param Name="C4_Ratio" Value="0" /> +
-          <Param Name="C5_Ratio" Value="0" /> +
-          <Param Name="C6_Ratio" Value="0" /> +
-          <Param Name="C7_Ratio" Value="0" /> +
-          <Param Name="C8_Ratio" Value="0" /> +
-          <Param Name="C1_TK" Value="2" /> +
-          <Param Name="C2_TK" Value="2" /> +
-          <Param Name="C3_TK" Value="2" /> +
-          <Param Name="C4_TK" Value="2" /> +
-          <Param Name="C5_TK" Value="2" /> +
-          <Param Name="C6_TK" Value="2" /> +
-          <Param Name="C7_TK" Value="2" /> +
-          <Param Name="C8_TK" Value="2" /> +
-          <Param Name="C1_MPO" Value="1" /> +
-          <Param Name="C2_MPO" Value="1" /> +
-          <Param Name="C3_MPO" Value="1" /> +
-          <Param Name="C4_MPO" Value="1" /> +
-          <Param Name="C5_MPO" Value="1" /> +
-          <Param Name="C6_MPO" Value="1" /> +
-          <Param Name="C7_MPO" Value="1" /> +
-          <Param Name="C8_MPO" Value="1" /> +
-          <Param Name="BEQ01_gain" Value="18" /> +
-          <Param Name="BEQ02_gain" Value="18" /> +
-          <Param Name="BEQ03_gain" Value="18" /> +
-          <Param Name="BEQ04_gain" Value="18" /> +
-          <Param Name="BEQ05_gain" Value="18" /> +
-          <Param Name="BEQ06_gain" Value="18" /> +
-          <Param Name="BEQ07_gain" Value="18" /> +
-          <Param Name="BEQ08_gain" Value="18" /> +
-          <Param Name="BEQ09_gain" Value="18" /> +
-          <Param Name="BEQ10_gain" Value="18" /> +
-          <Param Name="BEQ11_gain" Value="18" /> +
-          <Param Name="BEQ12_gain" Value="18" /> +
-          <Param Name="Matrix_gain" Value="32" /> +
-          <Param Name="Noise_Reduction" Value="0" /> +
-          <Param Name="FBC_Enable" Value="1" /> +
-          <Param Name="TimeConstants" Value="7" /> +
-        </Memory> +
-        <Memory Number="3"> +
-          <Param Name="Input_mux" Value="0" /> +
-          <Param Name="Preamp_gain0" Value="4" /> +
-          <Param Name="Preamp_gain1" Value="4" /> +
-          <Param Name="C1_Ratio" Value="0" /> +
-          <Param Name="C2_Ratio" Value="0" /> +
-          <Param Name="C3_Ratio" Value="0" /> +
-          <Param Name="C4_Ratio" Value="0" /> +
-          <Param Name="C5_Ratio" Value="0" /> +
-          <Param Name="C6_Ratio" Value="0" /> +
-          <Param Name="C7_Ratio" Value="0" /> +
-          <Param Name="C8_Ratio" Value="0" /> +
-          <Param Name="C1_TK" Value="2" /> +
-          <Param Name="C2_TK" Value="2" /> +
-          <Param Name="C3_TK" Value="2" /> +
-          <Param Name="C4_TK" Value="2" /> +
-          <Param Name="C5_TK" Value="2" /> +
-          <Param Name="C6_TK" Value="2" /> +
-          <Param Name="C7_TK" Value="2" /> +
-          <Param Name="C8_TK" Value="2" /> +
-          <Param Name="C1_MPO" Value="1" /> +
-          <Param Name="C2_MPO" Value="1" /> +
-          <Param Name="C3_MPO" Value="1" /> +
-          <Param Name="C4_MPO" Value="1" /> +
-          <Param Name="C5_MPO" Value="1" /> +
-          <Param Name="C6_MPO" Value="1" /> +
-          <Param Name="C7_MPO" Value="1" /> +
-          <Param Name="C8_MPO" Value="1" /> +
-          <Param Name="BEQ01_gain" Value="18" /> +
-          <Param Name="BEQ02_gain" Value="18" /> +
-          <Param Name="BEQ03_gain" Value="18" /> +
-          <Param Name="BEQ04_gain" Value="18" /> +
-          <Param Name="BEQ05_gain" Value="18" /> +
-          <Param Name="BEQ06_gain" Value="18" /> +
-          <Param Name="BEQ07_gain" Value="18" /> +
-          <Param Name="BEQ08_gain" Value="18" /> +
-          <Param Name="BEQ09_gain" Value="18" /> +
-          <Param Name="BEQ10_gain" Value="18" /> +
-          <Param Name="BEQ11_gain" Value="18" /> +
-          <Param Name="BEQ12_gain" Value="18" /> +
-          <Param Name="Matrix_gain" Value="32" /> +
-          <Param Name="Noise_Reduction" Value="0" /> +
-          <Param Name="FBC_Enable" Value="1" /> +
-          <Param Name="TimeConstants" Value="7" /> +
-        </Memory> +
-      </ParametersMemory> +
-    </Instrument> +
-  </Instruments> +
-</FittingSession> +
-</code> +
- +
-== References ==+
   * [[http://msdn.microsoft.com/en-us/library/cc165615.aspx|MSDN: How To: Bind to XDocument, XElement, or LINQ for XML Query Results]]   * [[http://msdn.microsoft.com/en-us/library/cc165615.aspx|MSDN: How To: Bind to XDocument, XElement, or LINQ for XML Query Results]]
   * [[http://msdn.microsoft.com/en-us/library/system.xml.linq.xelement.aspx|MSDN: XElement Class]]   * [[http://msdn.microsoft.com/en-us/library/system.xml.linq.xelement.aspx|MSDN: XElement Class]]