打开APP
未登录
开通VIP,畅享免费电子书等14项超值服
开通VIP
首页
好书
留言交流
下载APP
联系客服
xml与datatable互转类
lan1117
>《c#》
2012.06.17
关注
public
static
DataTable GetDataTable(
string
xmlStr)
{
XmlDocument doc =
new
XmlDocument();
doc.LoadXml(xmlStr);
XmlNodeList xlist = doc.SelectNodes(
"//DataTable/Rows"
);
DataTable Dt =
new
DataTable();
DataRow Dr;
for
(
int
i = 0; i < xlist.Count; i++)
{
Dr = Dt.NewRow();
XmlElement xe = (XmlElement)xlist.Item(i);
for
(
int
j = 0; j < xe.Attributes.Count; j++)
{
if
(!Dt.Columns.Contains(
"@"
+ xe.Attributes[j].Name))
Dt.Columns.Add(
"@"
+ xe.Attributes[j].Name);
Dr[
"@"
+ xe.Attributes[j].Name] = xe.Attributes[j].Value;
}
for
(
int
j = 0; j < xe.ChildNodes.Count; j++)
{
if
(!Dt.Columns.Contains(xe.ChildNodes.Item(j).Name))
Dt.Columns.Add(xe.ChildNodes.Item(j).Name);
Dr[xe.ChildNodes.Item(j).Name] = xe.ChildNodes.Item(j).InnerText;
}
Dt.Rows.Add(Dr);
}
return
Dt;
}
public
static
string
GetXml(DataTable dt)
{
string
strXml = @
"<?xml version='1.0' encoding='UTF-8' ?><DataTable />"
;
XmlDocument doc =
new
XmlDocument();
doc.LoadXml(strXml);
XmlNode root = doc.SelectSingleNode(
"//DataTable"
);
// 创建子节点
for
(
int
j = 0; j < dt.Rows.Count; j++)
{
XmlElement xe = doc.CreateElement(
"Rows"
);
XmlElement xeChild =
null
;
if
(!Object.Equals(dt,
null
))
{
for
(
int
i = 0; i < dt.Columns.Count; i++)
{
if
(dt.Columns[i].ColumnName.StartsWith(
"@"
))
{
string
AttributeName = dt.Columns[i].ColumnName.Replace(
"@"
,
""
);
// 为该子节点设置属性
xe.SetAttribute(AttributeName, dt.Rows[j][i].ToString());
}
else
{
xeChild = doc.CreateElement(dt.Columns[i].ColumnName);
try
{
xeChild.InnerXml = dt.Rows[j][i].ToString();
}
catch
{
xeChild.InnerText = dt.Rows[j][i].ToString();
}
xe.AppendChild(xeChild);
}
}
}
// 保存子节点设置
root.AppendChild(xe);
}
return
doc.InnerXml.ToString();
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报
。
打开APP,阅读全文并永久保存
查看更多类似文章
猜你喜欢
类似文章
【热】
打开小程序,算一算2024你的财运
DataTable转换成JSON格式数据
DataTable转换为二维数组
C#怎么取到datatable中数据的每一列的标题部分?
DataTable 修改列名 删除列名 调整列名 列顺序
把两张DataTable拼接成一张全新的DataTable
unity3d学习笔记(十六)unity3d读取plist或xml文件
更多类似文章 >>
生活服务
热点新闻
留言交流
回顶部
联系我们
分享
收藏
点击这里,查看已保存的文章
导长图
关注
一键复制
下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!
联系客服
微信登录中...
请勿关闭此页面
先别划走!
送你5元优惠券,购买VIP限时立减!
5
元
优惠券
优惠券还有
10:00
过期
马上使用
×