c# - 如何编辑从 xml 文件中获取的 SQL 查询
问题描述
我有几个不同模型的 .xml 文件,它们都包含类似于下面的 SQL 查询,我需要在 C# 中运行它们,但由于这个 .xml 文件属于仪表板,我只需要其中的一部分即可如果我的查询是 select a,b,c,d,e,f,g from x
<Dashboard>
<Title Visible="false" Text="Management Dashboard" />
<DataSources>
<SqlDataSource Name="Perfomr" >ComponentName="DataSource1">
<Connection Name="ConnectionString" FromAppConfig="true" />
<Query Type="CustomSqlQuery" Name="myquery">
<Sql>select a,b,c,d,e,f,g from x</Sql>
</Query>
<ConnectionOptions CloseConnection="true" />
</SqlDataSource>
</DataSources>
<Parameters>
<Parameter Name="SDate" Type="System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Value="2018-09-01T00:00:00" Description="Start Date" />
<Parameter Name="EDate" Type="System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Description="End Date" />
</Parameters>
<Items>
<Chart ComponentName="chartDashboardItem3" Name="2G CSSR" ShowCaption="false" ParentContainer="pageDashboardItem1" DataSource="DataSource1" DataMember="Global_All_Layer_Day">
<DataItems>
<Dimension DataMember="date_id" DateTimeGroupInterval="None" DefaultId="DataItem0" />
<Dimension DataMember="a" DefaultId="DataItem1" />
<Dimension DataMember="d" DateTimeGroupInterval="None" DefaultId="DataItem4" />
<Dimension DataMember="a" DefaultId="DataItem5" />
<Measure DataMember="b" DefaultId="DataItem2" />
<Measure DataMember="c" DefaultId="DataItem6" />
</DataItems>
.....
解决方案
String filename = "Dashboard.xml";
XPathDocument document = new XPathDocument(filename);
XPathNavigator navigator = document.CreateNavigator();
XPathNodeIterator nodes = navigator.Select("/Dashboard/DataSources/SqlDataSource/Query/Sql");
while (nodes.MoveNext())
{
Console.WriteLine("SQL Query : " + nodes.Current.InnerXml);
}
推荐阅读
- javascript - 在某个值处停止上一个和下一个按钮的增量 - ReactJS
- react-native - React Native 样式表优化
- google-cloud-platform - 为什么 GCE 实例组管理器要重新创建 VM?
- google-cloud-platform - Google Cloud Storage - 如何通过前端使用 Vue 上传图片
- c# - 在重入调用上使用异步方法时如何处理 WPF 中的忙指示符?
- android - 透明 webm 视频在 Android 9.0 上的 Android 68 上的 Chrome 上显示纯色背景色
- php - 我应该如何将任何类型的日期格式从数据库转换为这种格式“d/m/Y”?
- jquery - 如何在 JQuery 中访问此元素?
- python - 如何在列表上使用 reduce() 并获取字典?
- javascript - 从复选框中获取列表并插入css