C# 删除datagridview c中XML标记中的特定tekst#

C# 删除datagridview c中XML标记中的特定tekst#,c#,xml,gridview,dataset,C#,Xml,Gridview,Dataset,我有一个XML文件的示例行 - 数据源=192.168.1.2;初始目录=F052051;持久安全信息=True;使用者 ID=sa;密码=beanie; \\192.168.1.2\data\xmo\ true Beanie 2017-08-17T10:29:45.0404315 F052051 测试 +

我有一个XML文件的示例行

-

数据源=192.168.1.2;初始目录=F052051;持久安全信息=True;使用者 ID=sa;密码=beanie;

\\192.168.1.2\data\xmo\

true

Beanie

2017-08-17T10:29:45.0404315

F052051

测试

+

8.38

这是我在应用程序中用来在gridview中显示数据的代码

public Connectionstring()
    {

        InitializeComponent();
        constringview.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);

        DataSet ds = new DataSet();
        ds.ReadXml("http://10.10.62.104/xmoads/3.0/installationsex?_token=D21E34A5-21E4-405B-9EDE-18A99A8FD2CA&format=xml");
        ds.Tables[0].Columns[0].ColumnName = "ConnectionString";
        ds.Tables[0].Columns[1].ColumnName = "Ip Adresse";
        ds.Tables[0].Columns[3].ColumnName = "Kliniknavn";
        ds.Tables[0].Columns[5].ColumnName = "Installationsnummer";
        ds.Tables[0].Columns[6].ColumnName = "Systemtype";
        RemoveColumns(ds.Tables[0], ds.Tables[0].Columns[2], ds.Tables[0].Columns[4]);
        ds.Tables[0].Columns[1].SetOrdinal(2);


        constringview.DataSource = ds.Tables[0];
        constringview.RowHeadersVisible = false;
        kundeCount.Text = "Antal fundne installationer: " + constringview.Rows.Count.ToString();



    }
是否可以编程删除gridview中XML标记中的字符,以便只显示IP地址?怎么做


我在谷歌上尝试了各种搜索来获得解决方案,但是没有任何用处:(

使用Regex你可以做类似的事情

sing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Data;

namespace ConsoleApplication1
{
    class Program
    {
         static void Main(string[] args)
         {
             DataTable dt = new DataTable();
             dt.Columns.Add("IP", typeof(string));
             string pattern = "Data Source=(?'ip'[^;]+)";
             foreach (DataRow row in dt.AsEnumerable())
             {
                 string connectString = row.Field<string>("ConnectionString");
                 Match match = Regex.Match(connectString, pattern);
                 string ip = match.Groups["ip"].Value;
                 row["IP"] = ip;
             }
         }
    }

}
sing系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Text.RegularExpressions;
使用系统数据;
命名空间控制台应用程序1
{
班级计划
{
静态void Main(字符串[]参数)
{
DataTable dt=新的DataTable();
添加(“IP”,类型(字符串));
string pattern=“数据源=(?'ip'[^;]+)”;
foreach(dt.AsEnumerable()中的数据行)
{
字符串connectString=row.Field(“ConnectionString”);
Match=Regex.Match(connectString,pattern);
字符串ip=match.Groups[“ip”].Value;
行[“IP”]=IP;
}
}
}
}

IP地址是xml内部文本的一部分。因此,最好的方法是只为IP向DataTable添加一个新列。解析connectionstring列以获得新的IP列。您可以添加一个如何实现这一点的示例吗?您可以简化您的代码:DataTable dt=ds。Tables[0];非常感谢=)必须编写稍微不同的代码,b因为我使用的是数据集而不是datatable=),所以可以简化代码:datatable dt=ds.Tables[0];