<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_DATASOURCES</RequestType>
<Restrictions></Restrictions>
<Properties></Properties>
</Discover>
<return xmlns="urn:schemas-microsoft-com:xml-analysis">
<root xmlns="urn:schemas-microsoft-com:xml-analysis:rowset"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:schema targetNamespace="urn:schemas-microsoft-com:xml-analysis:rowset"
xmlns:sql="urn:schemas-microsoft-com:xml-sql" elementFormDefault="qualified">
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="row" type="row" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:simpleType name="uuid">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12}" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="xmlDocument">
<xsd:sequence>
<xsd:any />
<xsd:complexType name="row">
<xsd:element sql:field="DataSourceName" name="DataSourceName" type="xsd:string" />
<xsd:element sql:field="DataSourceDescription" name="DataSourceDescription"
type="xsd:string" minOccurs="0" />
<xsd:element sql:field="URL" name="URL" type="xsd:string" minOccurs="0" />
<xsd:element sql:field="DataSourceInfo" name="DataSourceInfo" type="xsd:string"
minOccurs="0" />
<xsd:element sql:field="ProviderName" name="ProviderName" type="xsd:string" />
<xsd:element sql:field="ProviderType" name="ProviderType" type="xsd:string"
minOccurs="0" maxOccurs="unbounded" />
<xsd:element sql:field="AuthenticationMode" name="AuthenticationMode"
</xsd:schema>
<row>
<DataSourceName>FREL11166\BILAB2005</DataSourceName>
<DataSourceDescription />
<URL />
<DataSourceInfo />
<ProviderName>Microsoft Analysis Services</ProviderName>
<ProviderType>MDP</ProviderType>
<ProviderType>TDP</ProviderType>
<ProviderType>DMP</ProviderType>
<AuthenticationMode>Authenticated</AuthenticationMode>
</row>
</root>
</return>
private XmlaClient _xmlaWS = new XmlaClient();
_xmlaWS.Connect(@"LOCALHOST\BILAB2005");
private void button1_Click(object sender, EventArgs e)
{
XmlDocument xmlDom = new XmlDocument();
string result = "";
string command = File.ReadAllText(@".\XMLa\0010_D_Datasources.xmla");
Debug.WriteLine(_xmlaWS.GetConnectionState(true).ToString());
string xmlaResult = _xmlaWS.Send(command, null);
xmlDom.LoadXml(xmlaResult);
XmlNodeList nl = xmlDom.GetElementsByTagName("row");
this.renderData(nl);
}
private void renderData(XmlNodeList nl)
DataSet ds = new DataSet();
DataTable dt = new DataTable();
XmlDocument xmlDoc = new XmlDocument();
XmlNode rootnode = (XmlNode)xmlDoc.CreateElement("extractedNodes");
foreach (XmlNode node in nl)
XmlElement xe = xmlDoc.CreateElement(node.Name);
XmlNodeList subNodeList = node.ChildNodes;
foreach (XmlNode subNode in subNodeList)
XmlElement se = xmlDoc.CreateElement (subNode.Name);
se.InnerText = subNode.InnerText;
xe.AppendChild(se);
rootnode.AppendChild(xe);
xmlDoc.AppendChild(rootnode);
ds.ReadXml(new StringReader(xmlDoc.OuterXml));
dgvResult.DataSource = ds.Tables[0];
dgvResult.Refresh();