如何从C#文件中提取XML数据

时间:2013-07-17 20:48:33

标签: c# asp.net xml

如果我在C#文件中有XML数据,而不是使用setXMLUrl(/blah.blah.xml);要从XML文件中检索XML信息,从ASP.net中使用的C#文件中提取XML数据需要哪些函数或代码?

这就是代码:

myChart.setXMLUrl("/Controls/TaskOrder/TaskSummary.asc/TaskSummary.ascx.cs");

我在setXMLUrl(“”)中渲染图表;区域是读取数据的位置。通常它来自这样的XML文件:

myChart.setXMLUrl("data/data.XML");

但由于我的XML数据附加在C#文件中,因此我不能使用setXMLUrl,因为它没有直接引用XML。

以下是代码背后的更新内容:

    public void SetLine3Chart(DataSet exDT)
    {
        StringBuilder xmlData = new StringBuilder();

        xmlData.Append("<chart caption='Current Period: Total Months: 12' chartBottomMargin='8' chartTopMargin='04' captionPadding='01' xAxisNamePadding='-20' yAxisNamePadding='05' chartRightMargin='20' showBorder='0' yAxisName='' xAxisName='' numberPrefix='$' formatNumberScale='0'>");
        xmlData.Append("<categories>");
        xmlData.Append("<category label='January'/>");
        xmlData.Append("<category label='February'/>");
        xmlData.Append("<category label='March'/>");
        xmlData.Append("<category label='April'/>");
        xmlData.Append("<category label='May'/>");
        xmlData.Append("<category label='June'/>");
        xmlData.Append("</categories>");

        xmlData.Append("<dataset seriesName='Budget Spent' >");
        xmlData.Append("<set value='3478'/>");
        xmlData.Append("<set value='2557'/>");
        xmlData.Append("<set value='5379'/>");
        xmlData.Append("<set value='4987'/>");
        xmlData.Append("<set value='1790'/>");
        xmlData.Append("<set value='6367'/>");
        xmlData.Append("</dataset>");

        xmlData.Append("<dataset seriesName='Average Spending' renderAs='Line'>");
        xmlData.Append("<set value='4375'/>");
        xmlData.Append("<set value='4675'/>");
        xmlData.Append("<set value='6354'/>");
        xmlData.Append("<set value='7648'/>");
        xmlData.Append("<set value='4578'/>");
        xmlData.Append("<set value='4763'/>");
        xmlData.Append("</dataset>");
        xmlData.Append("<styles>");
        xmlData.Append("<definition>");
        xmlData.Append("<style name='Font_0' type='font' font='Arial' size='12' color='666666' rightMargin='15' />");
        xmlData.Append("</definition>");
        xmlData.Append("<application>");
        xmlData.Append("<apply toObject='CAPTION' styles='Font_0'/>");
        xmlData.Append("</application>");
        xmlData.Append("</styles>");
        xmlData.Append("</chart>");

        Literal9.Text = FusionCharts.RenderChart("/Dashboard/Charts/MSCombi2D.swf", "", xmlData.ToString(), "line3Chart", "100%", "100%", false, false);
    }

1 个答案:

答案 0 :(得分:1)

这看起来很奇怪:

myChart.setXMLUrl("/Controls/TaskOrder/TaskSummary.asc/TaskSummary.ascx.cs");

你可能错了。 : - )

您必须从url连接xml / json数据。因此,创建ashx处理程序以通过某些参数提供XML / json数据,而不是将此处理程序的url放入脚本中。另外看一下,如果有可能从javascript变量向FusionChart对象提供数据。这可能有所帮助。

在这里你可以看到发送XML数据的ashx处理程序:C# Change my sitemap from ashx to xml(只缺少数据)。