这就是我会尝试的。
将图表写入 XML 或从 XML 读取时,您需要将 XML 图表数据“转换”为 ASP.NET 图表数据。
例如:当您调用“Chart.SaveXML”时,它将像这样保存:
<Chart Width="1100" Height="1000">
<Series>
<Series Name="2011/12" YValuesPerPoint="2" ChartType="Bubble" ChartArea="ChartArea1" Color="68, 68, 68" BorderWidth="5" MarkerStyle="Circle" MarkerBorderColor="68, 68, 68">
<Points>
<DataPoint XValue="2.5496218995765276" YValues="0.586933333333333,0"/>
</Points>
</Series>
<Series Name="2010/11" YValuesPerPoint="2" ChartType="Bubble" ChartArea="ChartArea1" Color="98, 98, 98" BorderWidth="5" MarkerStyle="Circle" MarkerBorderColor="98, 98, 98">
<Points>
<DataPoint XValue="1" YValues="0.756816666666667,0"/>
</Points>
</Series>
您需要这样做并将其修改为:
<asp:Chart runat="server" Width="1100" Height="1000">
<Series>
<asp:Series Name="2011/12" YValuesPerPoint="2" ChartType="Bubble" ChartArea="ChartArea1" Color="68, 68, 68" BorderWidth="5" MarkerStyle="Circle" MarkerBorderColor="68, 68, 68">
<Points>
<asp:DataPoint XValue="2.5496218995765276" YValues="0.586933333333333,0" />
</Points>
</asp:Series>
<asp:Series Name="2010/11" YValuesPerPoint="2" ChartType="Bubble" ChartArea="ChartArea1" Color="98, 98, 98" BorderWidth="5" MarkerStyle="Circle" MarkerBorderColor="98, 98, 98">
<Points>
<asp:DataPoint XValue="1" YValues="0.756816666666667,0" />
</Points>
</asp:Series>
您可以通过以下步骤来做到这一点:
myXmlData = myXmlData.Replace("<DataPoint", "<asp:DataPoint");
但请注意“<Series>”标签:集合(第一个)不是“asp:”标签,而其他标签是。
这会将 XML 转换为有效的 ASP.NET 标记,然后您可以以某种方式将其嵌入到页面中。