【发布时间】:2011-09-09 12:56:06
【问题描述】:
我创建了一个读取 xml 文件的方法,但它不能工作两次,我必须将指针放在文件的开头但我没有找到方法。
using Microsoft.AnalysisServices.AdomdClient;
using System.Diagnostics;
namespace WindowsFormsApplication1
{
class Class {
private System.Xml.XmlReader XML_File;
public void DebugXML()
{
this.XML_File.Read();
while (!this.XML_File.EOF)
{
Debug.WriteLine(this.XML_File.ReadOuterXml());
}
}
public Class()
{
AdomdConnection conn = new AdomdConnection("Data Source=MyComputer;InitialCatalog=Database");
conn.Open();
AdomdCommand cmd = new AdomdCommand("Select Hierarchize([Projects].[Project Branch].Levels(1).Members) DIMENSION PROPERTIES PARENT_UNIQUE_NAME, HIERARCHY_UNIQUE_NAME, CUSTOM_ROLLUP, UNARY_OPERATOR, KEY0 ON 0, Hierarchize({{{[Period Calculations].[Period].&[0]}, {[Period Calculations].[Period].&[1]}, {[Period Calculations].[Period].&[2]}, {[Period Calculations].[Period].&[3]}, {[Period Calculations].[Period].&[4]}, {[Period Calculations].[Period].&[5]}}}) DIMENSION PROPERTIES PARENT_UNIQUE_NAME, HIERARCHY_UNIQUE_NAME, CUSTOM_ROLLUP, UNARY_OPERATOR, KEY0 ON 1 FROM [ProjectControl] WHERE ([Measures].[WIP]) CELL PROPERTIES BACK_COLOR, CELL_ORDINAL, FORE_COLOR, FONT_NAME, FONT_SIZE, FONT_FLAGS, FORMAT_STRING, VALUE, FORMATTED_VALUE, UPDATEABLE", conn);
CellSet Cellules = cmd.ExecuteCellSet();
this.XML_File = cmd.ExecuteXmlReader();
DebugXML();
DebugXML();
conn.Close();
}
}
【问题讨论】:
-
你没有告诉我们
XML_File的类型,或者为什么你需要在课堂上保持打开而不是每次都单独阅读。 -
XmlReader是只转发阅读器。如果您想多次阅读,则需要使用其他结构。 -
System.Xml.XmlReader XML_File;