我有以下xml
<Configuration>
<Name>Test</Name>
<Description />
<CreatedOn>1/16/2017-2:59:32-PM</CreatedOn>
<CreatedBy>admin</CreatedBy>
<LastModifiedOn>1/16/2017-2:59:32-PM</LastModifiedOn>
<LastModifiedBy>admin</LastModifiedBy>
<IsConfigured>False</IsConfigured>
<ParentId>3</ParentId>
<VersionMajor>0</VersionMajor>
<VersionMinor>4</VersionMinor>
<LifecycleState>Development</LifecycleState>
<Archived>False</Archived>
<IsTest>False</IsTest>
<RunMode>Timed</RunMode>
<SelectedTimeUnit>Milliseconds</SelectedTimeUnit>
<PulseInMs>2000</PulseInMs>
<ClientLocation />
<IsValid>True</IsValid>
<Instrument>
<Adapter-Simulator1>
<DeviceInstanceName>Sim1</DeviceInstanceName>
<DeviceConfiguration>
<Channels>1</Channels>
<IntensityMax>1</IntensityMax>
<SimulatorMode>HiLo</SimulatorMode>
<StartChannel>0</StartChannel>
<Wavelength>1</Wavelength>
<WavelengthEnd>100</WavelengthEnd>
<WavelengthStartq>1</WavelengthStartq>
</DeviceConfiguration>
<Outputs>
<ChannelNumber>1</ChannelNumber>
<Name>1</Name>
<ChannelNumber>1</ChannelNumber>
<Name>2</Name>
<ChannelNumber>1</ChannelNumber>
<Name>3</Name>
<ChannelNumber>1</ChannelNumber>
<Name>4</Name>
<ChannelNumber>1</ChannelNumber>
<Name>5</Name>
<ChannelNumber>1</ChannelNumber>
<Name>6</Name>
<ChannelNumber>1</ChannelNumber>
<Name>7</Name>
<ChannelNumber>1</ChannelNumber>
<Name>8</Name>
<ChannelNumber>1</ChannelNumber>
<Name>9</Name>
<ChannelNumber>1</ChannelNumber>
<Name>10</Name>
<ChannelNumber>1</ChannelNumber>
<Name>11</Name>
<ChannelNumber>1</ChannelNumber>
<Name>12</Name>
<ChannelNumber>1</ChannelNumber>
<Name>13</Name>
<ChannelNumber>1</ChannelNumber>
<Name>14</Name>
<ChannelNumber>1</ChannelNumber>
<Name>15</Name>
<ChannelNumber>1</ChannelNumber>
<Name>16</Name>
<ChannelNumber>1</ChannelNumber>
<Name>17</Name>
<ChannelNumber>1</ChannelNumber>
<Name>18</Name>
<ChannelNumber>1</ChannelNumber>
<Name>19</Name>
<ChannelNumber>1</ChannelNumber>
<Name>20</Name>
<ChannelNumber>1</ChannelNumber>
<Name>21</Name>
<ChannelNumber>1</ChannelNumber>
<Name>22</Name>
<ChannelNumber>1</ChannelNumber>
<Name>23</Name>
<ChannelNumber>1</ChannelNumber>
<Name>24</Name>
<ChannelNumber>1</ChannelNumber>
<Name>25</Name>
<ChannelNumber>1</ChannelNumber>
<Name>26</Name>
<ChannelNumber>1</ChannelNumber>
<Name>27</Name>
<ChannelNumber>1</ChannelNumber>
<Name>28</Name>
<ChannelNumber>1</ChannelNumber>
<Name>29</Name>
<ChannelNumber>1</ChannelNumber>
<Name>30</Name>
<ChannelNumber>1</ChannelNumber>
<Name>31</Name>
<ChannelNumber>1</ChannelNumber>
<Name>32</Name>
<ChannelNumber>1</ChannelNumber>
<Name>33</Name>
<ChannelNumber>1</ChannelNumber>
<Name>34</Name>
<ChannelNumber>1</ChannelNumber>
<Name>35</Name>
<ChannelNumber>1</ChannelNumber>
<Name>36</Name>
<ChannelNumber>1</ChannelNumber>
<Name>37</Name>
<ChannelNumber>1</ChannelNumber>
<Name>38</Name>
<ChannelNumber>1</ChannelNumber>
<Name>39</Name>
<ChannelNumber>1</ChannelNumber>
<Name>40</Name>
<ChannelNumber>1</ChannelNumber>
<Name>41</Name>
<ChannelNumber>1</ChannelNumber>
<Name>42</Name>
<ChannelNumber>1</ChannelNumber>
<Name>43</Name>
<ChannelNumber>1</ChannelNumber>
<Name>44</Name>
<ChannelNumber>1</ChannelNumber>
<Name>45</Name>
<ChannelNumber>1</ChannelNumber>
<Name>46</Name>
<ChannelNumber>1</ChannelNumber>
<Name>47</Name>
<ChannelNumber>1</ChannelNumber>
<Name>48</Name>
<ChannelNumber>1</ChannelNumber>
<Name>49</Name>
<ChannelNumber>1</ChannelNumber>
<Name>50</Name>
<ChannelNumber>1</ChannelNumber>
<Name>51</Name>
<ChannelNumber>1</ChannelNumber>
<Name>52</Name>
<ChannelNumber>1</ChannelNumber>
<Name>53</Name>
<ChannelNumber>1</ChannelNumber>
<Name>54</Name>
<ChannelNumber>1</ChannelNumber>
<Name>55</Name>
<ChannelNumber>1</ChannelNumber>
<Name>56</Name>
<ChannelNumber>1</ChannelNumber>
<Name>57</Name>
<ChannelNumber>1</ChannelNumber>
<Name>58</Name>
<ChannelNumber>1</ChannelNumber>
<Name>59</Name>
<ChannelNumber>1</ChannelNumber>
<Name>60</Name>
<ChannelNumber>1</ChannelNumber>
<Name>61</Name>
<ChannelNumber>1</ChannelNumber>
<Name>62</Name>
<ChannelNumber>1</ChannelNumber>
<Name>63</Name>
<ChannelNumber>1</ChannelNumber>
<Name>64</Name>
<ChannelNumber>1</ChannelNumber>
<Name>65</Name>
<ChannelNumber>1</ChannelNumber>
<Name>66</Name>
<ChannelNumber>1</ChannelNumber>
<Name>67</Name>
<ChannelNumber>1</ChannelNumber>
<Name>68</Name>
<ChannelNumber>1</ChannelNumber>
<Name>69</Name>
<ChannelNumber>1</ChannelNumber>
<Name>70</Name>
<ChannelNumber>1</ChannelNumber>
<Name>71</Name>
<ChannelNumber>1</ChannelNumber>
<Name>72</Name>
<ChannelNumber>1</ChannelNumber>
<Name>73</Name>
<ChannelNumber>1</ChannelNumber>
<Name>74</Name>
<ChannelNumber>1</ChannelNumber>
<Name>75</Name>
<ChannelNumber>1</ChannelNumber>
<Name>76</Name>
<ChannelNumber>1</ChannelNumber>
<Name>77</Name>
<ChannelNumber>1</ChannelNumber>
<Name>78</Name>
<ChannelNumber>1</ChannelNumber>
<Name>79</Name>
<ChannelNumber>1</ChannelNumber>
<Name>80</Name>
<ChannelNumber>1</ChannelNumber>
<Name>81</Name>
<ChannelNumber>1</ChannelNumber>
<Name>82</Name>
<ChannelNumber>1</ChannelNumber>
<Name>83</Name>
<ChannelNumber>1</ChannelNumber>
<Name>84</Name>
<ChannelNumber>1</ChannelNumber>
<Name>85</Name>
<ChannelNumber>1</ChannelNumber>
<Name>86</Name>
<ChannelNumber>1</ChannelNumber>
<Name>87</Name>
<ChannelNumber>1</ChannelNumber>
<Name>88</Name>
<ChannelNumber>1</ChannelNumber>
<Name>89</Name>
<ChannelNumber>1</ChannelNumber>
<Name>90</Name>
<ChannelNumber>1</ChannelNumber>
<Name>91</Name>
<ChannelNumber>1</ChannelNumber>
<Name>92</Name>
<ChannelNumber>1</ChannelNumber>
<Name>93</Name>
<ChannelNumber>1</ChannelNumber>
<Name>94</Name>
<ChannelNumber>1</ChannelNumber>
<Name>95</Name>
<ChannelNumber>1</ChannelNumber>
<Name>96</Name>
<ChannelNumber>1</ChannelNumber>
<Name>97</Name>
<ChannelNumber>1</ChannelNumber>
<Name>98</Name>
<ChannelNumber>1</ChannelNumber>
<Name>99</Name>
<ChannelNumber>1</ChannelNumber>
<Name>100</Name>
<ChannelNumber>2</ChannelNumber>
<Name>Temperature-K</Name>
<ChannelNumber>3</ChannelNumber>
<Name>Pressure-inHg-absolute</Name>
</Outputs>
</Adapter-Simulator1>
<Adapter-Simulator3>
<DeviceInstanceName>Sim3</DeviceInstanceName>
<DeviceConfiguration>
<Channels>1</Channels>
<IntensityMax>1</IntensityMax>
<SimulatorMode>Random</SimulatorMode>
<StartChannel>0</StartChannel>
<Wavelength>1</Wavelength>
<WavelengthEnd>140</WavelengthEnd>
<WavelengthStartq>120</WavelengthStartq>
</DeviceConfiguration>
<Outputs>
<ChannelNumber>1</ChannelNumber>
<Name>120</Name>
<ChannelNumber>1</ChannelNumber>
<Name>121</Name>
<ChannelNumber>1</ChannelNumber>
<Name>122</Name>
<ChannelNumber>1</ChannelNumber>
<Name>123</Name>
<ChannelNumber>1</ChannelNumber>
<Name>124</Name>
<ChannelNumber>1</ChannelNumber>
<Name>125</Name>
<ChannelNumber>1</ChannelNumber>
<Name>126</Name>
<ChannelNumber>1</ChannelNumber>
<Name>127</Name>
<ChannelNumber>1</ChannelNumber>
<Name>128</Name>
<ChannelNumber>1</ChannelNumber>
<Name>129</Name>
<ChannelNumber>1</ChannelNumber>
<Name>130</Name>
<ChannelNumber>1</ChannelNumber>
<Name>131</Name>
<ChannelNumber>1</ChannelNumber>
<Name>132</Name>
<ChannelNumber>1</ChannelNumber>
<Name>133</Name>
<ChannelNumber>1</ChannelNumber>
<Name>134</Name>
<ChannelNumber>1</ChannelNumber>
<Name>135</Name>
<ChannelNumber>1</ChannelNumber>
<Name>136</Name>
<ChannelNumber>1</ChannelNumber>
<Name>137</Name>
<ChannelNumber>1</ChannelNumber>
<Name>138</Name>
<ChannelNumber>1</ChannelNumber>
<Name>139</Name>
<ChannelNumber>1</ChannelNumber>
<Name>140</Name>
<ChannelNumber>2</ChannelNumber>
<Name>Temperature-K</Name>
<ChannelNumber>3</ChannelNumber>
<Name>Pressure-inHg-absolute</Name>
</Outputs>
</Adapter-Simulator3>
<Adapter-Simulator2>
<DeviceInstanceName>Sim2</DeviceInstanceName>
<DeviceConfiguration>
<Channels>1</Channels>
<IntensityMax>1</IntensityMax>
<SimulatorMode>Random</SimulatorMode>
<StartChannel>0</StartChannel>
<Wavelength>1</Wavelength>
<WavelengthEnd>120</WavelengthEnd>
<WavelengthStartq>100</WavelengthStartq>
</DeviceConfiguration>
<Outputs>
<ChannelNumber>1</ChannelNumber>
<Name>100</Name>
<ChannelNumber>1</ChannelNumber>
<Name>101</Name>
<ChannelNumber>1</ChannelNumber>
<Name>102</Name>
<ChannelNumber>1</ChannelNumber>
<Name>103</Name>
<ChannelNumber>1</ChannelNumber>
<Name>104</Name>
<ChannelNumber>1</ChannelNumber>
<Name>105</Name>
<ChannelNumber>1</ChannelNumber>
<Name>106</Name>
<ChannelNumber>1</ChannelNumber>
<Name>107</Name>
<ChannelNumber>1</ChannelNumber>
<Name>108</Name>
<ChannelNumber>1</ChannelNumber>
<Name>109</Name>
<ChannelNumber>1</ChannelNumber>
<Name>110</Name>
<ChannelNumber>1</ChannelNumber>
<Name>111</Name>
<ChannelNumber>1</ChannelNumber>
<Name>112</Name>
<ChannelNumber>1</ChannelNumber>
<Name>113</Name>
<ChannelNumber>1</ChannelNumber>
<Name>114</Name>
<ChannelNumber>1</ChannelNumber>
<Name>115</Name>
<ChannelNumber>1</ChannelNumber>
<Name>116</Name>
<ChannelNumber>1</ChannelNumber>
<Name>117</Name>
<ChannelNumber>1</ChannelNumber>
<Name>118</Name>
<ChannelNumber>1</ChannelNumber>
<Name>119</Name>
<ChannelNumber>1</ChannelNumber>
<Name>120</Name>
<ChannelNumber>2</ChannelNumber>
<Name>Temperature-K</Name>
<ChannelNumber>3</ChannelNumber>
<Name>Pressure-inHg-absolute</Name>
</Outputs>
</Adapter-Simulator2>
<Adapter-Counter>
<DeviceInstanceName>Counter1</DeviceInstanceName>
<DeviceConfiguration>
<StartingValue>0</StartingValue>
<IncrementBy>1</IncrementBy>
<ResetIfPulseMissed>False</ResetIfPulseMissed>
</DeviceConfiguration>
<Outputs>
<ChannelNumber>1</ChannelNumber>
<Name>CounterValue</Name>
</Outputs>
</Adapter-Counter>
</Instrument>
<Connectors>
<Connection>
<Sink_Instrument>Simulator2</Sink_Instrument>
<Source_Instrument>Simulator1</Source_Instrument>
</Connection>
<Connection>
<Sink_Instrument>Simulator2</Sink_Instrument>
<Source_Instrument>Counter</Source_Instrument>
</Connection>
</Connectors>
</Configuration>
我希望我的SSRS报告以表格格式显示xml。
到目前为止,我已尝试过以下内容。我使用了以下链接并创建了一个xmltable函数。该函数按预期提取xml但不确定如何在报告中显示。
[Shredding XML From Execution Plans
在粉碎xml后我使用以下链接创建列表并显示xml但没有运气
[https://www.youtube.com/watch?time_continue=6&v=h8EidVXasYg]
非常感谢任何帮助!!
答案 0 :(得分:0)
您将无法将其转换为一个大表,因为有多个1:n
嵌套数据,您将创建一个多次重复的CROSS JOIN
。< / p>
以下内容向您展示了如何使用每个级别的一些示例从XML检索数据。其余的由你决定...
DECLARE @xml XML=
N'<Configuration>
<Name>Test</Name>
<Description />
<CreatedOn>1/16/2017-2:59:32-PM</CreatedOn>
<CreatedBy>admin</CreatedBy>
<LastModifiedOn>1/16/2017-2:59:32-PM</LastModifiedOn>
<LastModifiedBy>admin</LastModifiedBy>
<IsConfigured>False</IsConfigured>
<ParentId>3</ParentId>
<VersionMajor>0</VersionMajor>
<VersionMinor>4</VersionMinor>
<LifecycleState>Development</LifecycleState>
<Archived>False</Archived>
<IsTest>False</IsTest>
<RunMode>Timed</RunMode>
<SelectedTimeUnit>Milliseconds</SelectedTimeUnit>
<PulseInMs>2000</PulseInMs>
<ClientLocation />
<IsValid>True</IsValid>
<Instrument>
<Adapter-Simulator1>
<DeviceInstanceName>Sim1</DeviceInstanceName>
<DeviceConfiguration>
<Channels>1</Channels>
<IntensityMax>1</IntensityMax>
<SimulatorMode>HiLo</SimulatorMode>
<StartChannel>0</StartChannel>
<Wavelength>1</Wavelength>
<WavelengthEnd>100</WavelengthEnd>
<WavelengthStartq>1</WavelengthStartq>
</DeviceConfiguration>
<Outputs>
<ChannelNumber>1</ChannelNumber>
<Name>1</Name>
<ChannelNumber>1</ChannelNumber>
<Name>2</Name>
<ChannelNumber>1</ChannelNumber>
<Name>3</Name>
<ChannelNumber>1</ChannelNumber>
<Name>4</Name>
<ChannelNumber>1</ChannelNumber>
<Name>5</Name>
<ChannelNumber>1</ChannelNumber>
<Name>6</Name>
<ChannelNumber>1</ChannelNumber>
<Name>7</Name>
<ChannelNumber>1</ChannelNumber>
<Name>8</Name>
<ChannelNumber>1</ChannelNumber>
<Name>9</Name>
<ChannelNumber>1</ChannelNumber>
<Name>10</Name>
<ChannelNumber>1</ChannelNumber>
<Name>11</Name>
<ChannelNumber>1</ChannelNumber>
<Name>12</Name>
<ChannelNumber>1</ChannelNumber>
<Name>13</Name>
<ChannelNumber>1</ChannelNumber>
<Name>14</Name>
<ChannelNumber>1</ChannelNumber>
<Name>15</Name>
<ChannelNumber>1</ChannelNumber>
<Name>16</Name>
<ChannelNumber>1</ChannelNumber>
<Name>17</Name>
<ChannelNumber>1</ChannelNumber>
<Name>18</Name>
<ChannelNumber>1</ChannelNumber>
<Name>19</Name>
<ChannelNumber>1</ChannelNumber>
<Name>20</Name>
<ChannelNumber>1</ChannelNumber>
<Name>21</Name>
<ChannelNumber>1</ChannelNumber>
<Name>22</Name>
<ChannelNumber>1</ChannelNumber>
<Name>23</Name>
<ChannelNumber>1</ChannelNumber>
<Name>24</Name>
<ChannelNumber>1</ChannelNumber>
<Name>25</Name>
<ChannelNumber>1</ChannelNumber>
<Name>26</Name>
<ChannelNumber>1</ChannelNumber>
<Name>27</Name>
<ChannelNumber>1</ChannelNumber>
<Name>28</Name>
<ChannelNumber>1</ChannelNumber>
<Name>29</Name>
<ChannelNumber>1</ChannelNumber>
<Name>30</Name>
<ChannelNumber>1</ChannelNumber>
<Name>31</Name>
<ChannelNumber>1</ChannelNumber>
<Name>32</Name>
<ChannelNumber>1</ChannelNumber>
<Name>33</Name>
<ChannelNumber>1</ChannelNumber>
<Name>34</Name>
<ChannelNumber>1</ChannelNumber>
<Name>35</Name>
<ChannelNumber>1</ChannelNumber>
<Name>36</Name>
<ChannelNumber>1</ChannelNumber>
<Name>37</Name>
<ChannelNumber>1</ChannelNumber>
<Name>38</Name>
<ChannelNumber>1</ChannelNumber>
<Name>39</Name>
<ChannelNumber>1</ChannelNumber>
<Name>40</Name>
<ChannelNumber>1</ChannelNumber>
<Name>41</Name>
<ChannelNumber>1</ChannelNumber>
<Name>42</Name>
<ChannelNumber>1</ChannelNumber>
<Name>43</Name>
<ChannelNumber>1</ChannelNumber>
<Name>44</Name>
<ChannelNumber>1</ChannelNumber>
<Name>45</Name>
<ChannelNumber>1</ChannelNumber>
<Name>46</Name>
<ChannelNumber>1</ChannelNumber>
<Name>47</Name>
<ChannelNumber>1</ChannelNumber>
<Name>48</Name>
<ChannelNumber>1</ChannelNumber>
<Name>49</Name>
<ChannelNumber>1</ChannelNumber>
<Name>50</Name>
<ChannelNumber>1</ChannelNumber>
<Name>51</Name>
<ChannelNumber>1</ChannelNumber>
<Name>52</Name>
<ChannelNumber>1</ChannelNumber>
<Name>53</Name>
<ChannelNumber>1</ChannelNumber>
<Name>54</Name>
<ChannelNumber>1</ChannelNumber>
<Name>55</Name>
<ChannelNumber>1</ChannelNumber>
<Name>56</Name>
<ChannelNumber>1</ChannelNumber>
<Name>57</Name>
<ChannelNumber>1</ChannelNumber>
<Name>58</Name>
<ChannelNumber>1</ChannelNumber>
<Name>59</Name>
<ChannelNumber>1</ChannelNumber>
<Name>60</Name>
<ChannelNumber>1</ChannelNumber>
<Name>61</Name>
<ChannelNumber>1</ChannelNumber>
<Name>62</Name>
<ChannelNumber>1</ChannelNumber>
<Name>63</Name>
<ChannelNumber>1</ChannelNumber>
<Name>64</Name>
<ChannelNumber>1</ChannelNumber>
<Name>65</Name>
<ChannelNumber>1</ChannelNumber>
<Name>66</Name>
<ChannelNumber>1</ChannelNumber>
<Name>67</Name>
<ChannelNumber>1</ChannelNumber>
<Name>68</Name>
<ChannelNumber>1</ChannelNumber>
<Name>69</Name>
<ChannelNumber>1</ChannelNumber>
<Name>70</Name>
<ChannelNumber>1</ChannelNumber>
<Name>71</Name>
<ChannelNumber>1</ChannelNumber>
<Name>72</Name>
<ChannelNumber>1</ChannelNumber>
<Name>73</Name>
<ChannelNumber>1</ChannelNumber>
<Name>74</Name>
<ChannelNumber>1</ChannelNumber>
<Name>75</Name>
<ChannelNumber>1</ChannelNumber>
<Name>76</Name>
<ChannelNumber>1</ChannelNumber>
<Name>77</Name>
<ChannelNumber>1</ChannelNumber>
<Name>78</Name>
<ChannelNumber>1</ChannelNumber>
<Name>79</Name>
<ChannelNumber>1</ChannelNumber>
<Name>80</Name>
<ChannelNumber>1</ChannelNumber>
<Name>81</Name>
<ChannelNumber>1</ChannelNumber>
<Name>82</Name>
<ChannelNumber>1</ChannelNumber>
<Name>83</Name>
<ChannelNumber>1</ChannelNumber>
<Name>84</Name>
<ChannelNumber>1</ChannelNumber>
<Name>85</Name>
<ChannelNumber>1</ChannelNumber>
<Name>86</Name>
<ChannelNumber>1</ChannelNumber>
<Name>87</Name>
<ChannelNumber>1</ChannelNumber>
<Name>88</Name>
<ChannelNumber>1</ChannelNumber>
<Name>89</Name>
<ChannelNumber>1</ChannelNumber>
<Name>90</Name>
<ChannelNumber>1</ChannelNumber>
<Name>91</Name>
<ChannelNumber>1</ChannelNumber>
<Name>92</Name>
<ChannelNumber>1</ChannelNumber>
<Name>93</Name>
<ChannelNumber>1</ChannelNumber>
<Name>94</Name>
<ChannelNumber>1</ChannelNumber>
<Name>95</Name>
<ChannelNumber>1</ChannelNumber>
<Name>96</Name>
<ChannelNumber>1</ChannelNumber>
<Name>97</Name>
<ChannelNumber>1</ChannelNumber>
<Name>98</Name>
<ChannelNumber>1</ChannelNumber>
<Name>99</Name>
<ChannelNumber>1</ChannelNumber>
<Name>100</Name>
<ChannelNumber>2</ChannelNumber>
<Name>Temperature-K</Name>
<ChannelNumber>3</ChannelNumber>
<Name>Pressure-inHg-absolute</Name>
</Outputs>
</Adapter-Simulator1>
<Adapter-Simulator3>
<DeviceInstanceName>Sim3</DeviceInstanceName>
<DeviceConfiguration>
<Channels>1</Channels>
<IntensityMax>1</IntensityMax>
<SimulatorMode>Random</SimulatorMode>
<StartChannel>0</StartChannel>
<Wavelength>1</Wavelength>
<WavelengthEnd>140</WavelengthEnd>
<WavelengthStartq>120</WavelengthStartq>
</DeviceConfiguration>
<Outputs>
<ChannelNumber>1</ChannelNumber>
<Name>120</Name>
<ChannelNumber>1</ChannelNumber>
<Name>121</Name>
<ChannelNumber>1</ChannelNumber>
<Name>122</Name>
<ChannelNumber>1</ChannelNumber>
<Name>123</Name>
<ChannelNumber>1</ChannelNumber>
<Name>124</Name>
<ChannelNumber>1</ChannelNumber>
<Name>125</Name>
<ChannelNumber>1</ChannelNumber>
<Name>126</Name>
<ChannelNumber>1</ChannelNumber>
<Name>127</Name>
<ChannelNumber>1</ChannelNumber>
<Name>128</Name>
<ChannelNumber>1</ChannelNumber>
<Name>129</Name>
<ChannelNumber>1</ChannelNumber>
<Name>130</Name>
<ChannelNumber>1</ChannelNumber>
<Name>131</Name>
<ChannelNumber>1</ChannelNumber>
<Name>132</Name>
<ChannelNumber>1</ChannelNumber>
<Name>133</Name>
<ChannelNumber>1</ChannelNumber>
<Name>134</Name>
<ChannelNumber>1</ChannelNumber>
<Name>135</Name>
<ChannelNumber>1</ChannelNumber>
<Name>136</Name>
<ChannelNumber>1</ChannelNumber>
<Name>137</Name>
<ChannelNumber>1</ChannelNumber>
<Name>138</Name>
<ChannelNumber>1</ChannelNumber>
<Name>139</Name>
<ChannelNumber>1</ChannelNumber>
<Name>140</Name>
<ChannelNumber>2</ChannelNumber>
<Name>Temperature-K</Name>
<ChannelNumber>3</ChannelNumber>
<Name>Pressure-inHg-absolute</Name>
</Outputs>
</Adapter-Simulator3>
<Adapter-Simulator2>
<DeviceInstanceName>Sim2</DeviceInstanceName>
<DeviceConfiguration>
<Channels>1</Channels>
<IntensityMax>1</IntensityMax>
<SimulatorMode>Random</SimulatorMode>
<StartChannel>0</StartChannel>
<Wavelength>1</Wavelength>
<WavelengthEnd>120</WavelengthEnd>
<WavelengthStartq>100</WavelengthStartq>
</DeviceConfiguration>
<Outputs>
<ChannelNumber>1</ChannelNumber>
<Name>100</Name>
<ChannelNumber>1</ChannelNumber>
<Name>101</Name>
<ChannelNumber>1</ChannelNumber>
<Name>102</Name>
<ChannelNumber>1</ChannelNumber>
<Name>103</Name>
<ChannelNumber>1</ChannelNumber>
<Name>104</Name>
<ChannelNumber>1</ChannelNumber>
<Name>105</Name>
<ChannelNumber>1</ChannelNumber>
<Name>106</Name>
<ChannelNumber>1</ChannelNumber>
<Name>107</Name>
<ChannelNumber>1</ChannelNumber>
<Name>108</Name>
<ChannelNumber>1</ChannelNumber>
<Name>109</Name>
<ChannelNumber>1</ChannelNumber>
<Name>110</Name>
<ChannelNumber>1</ChannelNumber>
<Name>111</Name>
<ChannelNumber>1</ChannelNumber>
<Name>112</Name>
<ChannelNumber>1</ChannelNumber>
<Name>113</Name>
<ChannelNumber>1</ChannelNumber>
<Name>114</Name>
<ChannelNumber>1</ChannelNumber>
<Name>115</Name>
<ChannelNumber>1</ChannelNumber>
<Name>116</Name>
<ChannelNumber>1</ChannelNumber>
<Name>117</Name>
<ChannelNumber>1</ChannelNumber>
<Name>118</Name>
<ChannelNumber>1</ChannelNumber>
<Name>119</Name>
<ChannelNumber>1</ChannelNumber>
<Name>120</Name>
<ChannelNumber>2</ChannelNumber>
<Name>Temperature-K</Name>
<ChannelNumber>3</ChannelNumber>
<Name>Pressure-inHg-absolute</Name>
</Outputs>
</Adapter-Simulator2>
<Adapter-Counter>
<DeviceInstanceName>Counter1</DeviceInstanceName>
<DeviceConfiguration>
<StartingValue>0</StartingValue>
<IncrementBy>1</IncrementBy>
<ResetIfPulseMissed>False</ResetIfPulseMissed>
</DeviceConfiguration>
<Outputs>
<ChannelNumber>1</ChannelNumber>
<Name>CounterValue</Name>
</Outputs>
</Adapter-Counter>
</Instrument>
<Connectors>
<Connection>
<Sink_Instrument>Simulator2</Sink_Instrument>
<Source_Instrument>Simulator1</Source_Instrument>
</Connection>
<Connection>
<Sink_Instrument>Simulator2</Sink_Instrument>
<Source_Instrument>Counter</Source_Instrument>
</Connection>
</Connectors>
</Configuration>';
此查询返回配置和连接数据
SELECT conf.value(N'Name[1]',N'nvarchar(max)') AS Configuration_Name
,conf.value(N'CreatedOn[1]',N'nvarchar(max)') AS Configuration_CreatedOn --This should be ISO8601 otherwise a cast to DATETIME is culture dependant!
,conf.value(N'Archived[1]',N'bit') AS Configuration_Archived --This should be ISO8601 otherwise a cast to DATETIME is culture dependant!
,con.value(N'(Sink_Instrument)[1]',N'nvarchar(max)') AS Connection_Sink_Instrument
,con.value(N'(Source_Instrument)[1]',N'nvarchar(max)') AS Connection_Source_Instrument
FROM @xml.nodes(N'Configuration') AS A(conf)
OUTER APPLY A.conf.nodes(N'Connectors/Connection') AS B(con)
此查询返回Cofiguration,Simulator和Output数据
SELECT conf.value(N'Name[1]',N'nvarchar(max)') AS Configuration_Name
,conf.value(N'CreatedOn[1]',N'nvarchar(max)') AS Configuration_CreatedOn --This should be ISO8601 otherwise a cast to DATETIME is culture dependant!
,conf.value(N'Archived[1]',N'bit') AS Configuration_Archived --This should be ISO8601 otherwise a cast to DATETIME is culture dependant!
,sim.value(N'(DeviceInstanceName)[1]',N'nvarchar(max)') AS Simulator_DeviceInstanceName
,sim.value(N'(DeviceConfiguration/Channels)[1]',N'int') AS Simulator_DeviceConfiguration_Channels
,outp.value(N'local-name(.)','nvarchar(max)') AS Simulator_Output_Node
,outp.value(N'.','nvarchar(max)') AS Simulator_Output
FROM @xml.nodes(N'Configuration') AS A(conf)
OUTER APPLY A.conf.nodes(N'Instrument/*[substring(local-name(),1,17)="Adapter-Simulator"]') AS B(sim)
OUTER APPLY sim.nodes(N'Outputs/*') AS C(outp)
只是“合并”我的两个陈述!试试这个,如果你真的不关心重复。但这可能爆炸: - )
SELECT conf.value(N'Name[1]',N'nvarchar(max)') AS Configuration_Name
,conf.value(N'CreatedOn[1]',N'nvarchar(max)') AS Configuration_CreatedOn --This should be ISO8601 otherwise a cast to DATETIME is culture dependant!
,conf.value(N'Archived[1]',N'bit') AS Configuration_Archived --This should be ISO8601 otherwise a cast to DATETIME is culture dependant!
,con.value(N'(Sink_Instrument)[1]',N'nvarchar(max)') AS Connection_Sink_Instrument
,con.value(N'(Source_Instrument)[1]',N'nvarchar(max)') AS Connection_Source_Instrument
,sim.value(N'(DeviceInstanceName)[1]',N'nvarchar(max)') AS Simulator_DeviceInstanceName
,sim.value(N'(DeviceConfiguration/Channels)[1]',N'int') AS Simulator_DeviceConfiguration_Channels
,outp.value(N'local-name(.)','nvarchar(max)') AS Simulator_Output_Node
,outp.value(N'.','nvarchar(max)') AS Simulator_Output
FROM @xml.nodes(N'Configuration') AS A(conf)
OUTER APPLY A.conf.nodes(N'Connectors/Connection') AS B(con)
OUTER APPLY A.conf.nodes(N'Instrument/*[substring(local-name(),1,17)="Adapter-Simulator"]') AS C(sim)
OUTER APPLY sim.nodes(N'Outputs/*') AS D(outp)