string 类型的xml 转成 DataTable或者DataSet,然后插入数据库 XMLStringdataset数据库datatable 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先解决的是 你要怎么解析这个XML第一 你可以使用 .net 提供xml序列化。第二 自己手写解析(使用XPath或Linq)。 string xmlStr = @"<DATE><RS><JGBM>机构编码</JGBM><JGMC>机构名称</JGMC><LXR>联系人</LXR><GZC_QDSWYWZGSJ>取得涉外业务资格时间</GZC_QDSWYWZGSJ><BZ>备注</BZ></RS><RS><JGBM>机构编码</JGBM><JGMC>机构名称</JGMC><LXR>联系人</LXR><GZC_QDSWYWZGSJ>取得涉外业务资格时间</GZC_QDSWYWZGSJ><BZ>备注</BZ></RS><RS><JGBM>机构编码</JGBM><JGMC>机构名称</JGMC><LXR>联系人</LXR><GZC_QDSWYWZGSJ>取得涉外业务资格时间</GZC_QDSWYWZGSJ><BZ>备注</BZ></RS> </DATE>"; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xmlStr); foreach (XmlNode xn in xmlDoc.SelectNodes("/DATE/RS")) { string JGBM = xn.SelectSingleNode("JGBM").InnerText;//机构编码 string JGMC = xn.SelectSingleNode("JGMC").InnerText;//机构名称 } 要拿出来然后放到 datatable里面??拿出来后临时存储?? /**/ /// <summary> /// 将Xml内容字符串转换成DataSet对象 /// </summary> /// <param name="xmlStr">Xml内容字符串</param> /// <returns>DataSet对象</returns> public static DataSet CXmlToDataSet(string xmlStr) { if (!string.IsNullOrEmpty(xmlStr)) { StringReader StrStream = null; XmlTextReader Xmlrdr = null; try { DataSet ds = new DataSet(); //读取字符串中的信息 StrStream = new StringReader(xmlStr); //获取StrStream中的数据 Xmlrdr = new XmlTextReader(StrStream); //ds获取Xmlrdr中的数据 ds.ReadXml(Xmlrdr); return ds; } catch (Exception e) { throw e; } finally { //释放资源 if (Xmlrdr != null) { Xmlrdr.Close(); StrStream.Close(); StrStream.Dispose(); } } } else { return null; } }调用 string xmlStr = @"<DATE><RS><JGBM>机构编码</JGBM><JGMC>机构名称</JGMC><LXR>联系人</LXR><GZC_QDSWYWZGSJ>取得涉外业务资格时间</GZC_QDSWYWZGSJ><BZ>备注</BZ></RS><RS><JGBM>机构编码</JGBM><JGMC>机构名称</JGMC><LXR>联系人</LXR><GZC_QDSWYWZGSJ>取得涉外业务资格时间</GZC_QDSWYWZGSJ><BZ>备注</BZ></RS><RS><JGBM>机构编码</JGBM><JGMC>机构名称</JGMC><LXR>联系人</LXR><GZC_QDSWYWZGSJ>取得涉外业务资格时间</GZC_QDSWYWZGSJ><BZ>备注</BZ></RS> </DATE>"; DataTable dt = new DataTable(); dt = CXmlToDataSet(xmlStr).Tables[0]; 为什么不直接解析XML后遍历,然后插入数据库而非要中间在转换成DataTable呢? 如何实现统计 winfrom 控件输入转换问题和事务操作问题 Assembly.GetTypes() 与 typeof() 不相等。。高手请进。 请教一个日期格式的问题? GBK页面如何插入js 各位大虾帮帮忙 对 DataGridView 的 列标题 成功设置为 居中 的请进。。。 关于asp.net中dropdownlist添加空值的问题 如何使用加密文件 如何打印一个winform窗体? 调用C++dll的C#程序如何能在一个干净的机器上运行呢 C# webapp 如何使用自定义类 dev的表格,如何将他的表格边框设置为无?
第一 你可以使用 .net 提供xml序列化。
第二 自己手写解析(使用XPath或Linq)。
<RS>
<JGBM>机构编码</JGBM>
<JGMC>机构名称</JGMC>
<LXR>联系人</LXR>
<GZC_QDSWYWZGSJ>取得涉外业务资格时间</GZC_QDSWYWZGSJ>
<BZ>备注</BZ>
</RS>
<RS>
<JGBM>机构编码</JGBM>
<JGMC>机构名称</JGMC>
<LXR>联系人</LXR>
<GZC_QDSWYWZGSJ>取得涉外业务资格时间</GZC_QDSWYWZGSJ>
<BZ>备注</BZ>
</RS>
<RS>
<JGBM>机构编码</JGBM>
<JGMC>机构名称</JGMC>
<LXR>联系人</LXR>
<GZC_QDSWYWZGSJ>取得涉外业务资格时间</GZC_QDSWYWZGSJ>
<BZ>备注</BZ>
</RS>
</DATE>";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlStr);
foreach (XmlNode xn in xmlDoc.SelectNodes("/DATE/RS"))
{
string JGBM = xn.SelectSingleNode("JGBM").InnerText;//机构编码
string JGMC = xn.SelectSingleNode("JGMC").InnerText;//机构名称
}
/// <summary>
/// 将Xml内容字符串转换成DataSet对象
/// </summary>
/// <param name="xmlStr">Xml内容字符串</param>
/// <returns>DataSet对象</returns>
public static DataSet CXmlToDataSet(string xmlStr)
{
if (!string.IsNullOrEmpty(xmlStr))
{
StringReader StrStream = null;
XmlTextReader Xmlrdr = null;
try
{
DataSet ds = new DataSet();
//读取字符串中的信息
StrStream = new StringReader(xmlStr);
//获取StrStream中的数据
Xmlrdr = new XmlTextReader(StrStream);
//ds获取Xmlrdr中的数据
ds.ReadXml(Xmlrdr);
return ds;
}
catch (Exception e)
{
throw e;
}
finally
{
//释放资源
if (Xmlrdr != null)
{
Xmlrdr.Close();
StrStream.Close();
StrStream.Dispose();
}
}
}
else
{
return null;
}
}调用 string xmlStr = @"<DATE>
<RS>
<JGBM>机构编码</JGBM>
<JGMC>机构名称</JGMC>
<LXR>联系人</LXR>
<GZC_QDSWYWZGSJ>取得涉外业务资格时间</GZC_QDSWYWZGSJ>
<BZ>备注</BZ>
</RS>
<RS>
<JGBM>机构编码</JGBM>
<JGMC>机构名称</JGMC>
<LXR>联系人</LXR>
<GZC_QDSWYWZGSJ>取得涉外业务资格时间</GZC_QDSWYWZGSJ>
<BZ>备注</BZ>
</RS>
<RS>
<JGBM>机构编码</JGBM>
<JGMC>机构名称</JGMC>
<LXR>联系人</LXR>
<GZC_QDSWYWZGSJ>取得涉外业务资格时间</GZC_QDSWYWZGSJ>
<BZ>备注</BZ>
</RS>
</DATE>"; DataTable dt = new DataTable();
dt = CXmlToDataSet(xmlStr).Tables[0];