<?xml version="1.0" encoding="UTF-8" ?>
<DataList Date="2010-03-30">
<Ds Qid="1490" Type="1" >
<Mx>
<itme Code="P" Price="100" R="2.5"/>
<itme Code="P" Price="120" R="1.5"/>
</Mx>
</Ds>
<Ds Qid="1491" Type="2" >
<Mx>
<itme Code="P" Price="200" R="5.5/>
<itme Code="P" Price="220" R="6.5/>
</Mx>
</Ds>
.......</DataList>[asp.net 1.1下能运行]
我会得到一个如上面的xml,现在的问题是我想快速做一个处理就是对R="XX" 项统一做减 1 比如 R="2.5" 应为 R="1.5"这样操作。由于结果需要输出为json 希望修改后结果 System.Data.DataTable 格式方式保存,另请注意一下代码速度问题,现在程序中的xml已接近200K了
谢谢
<DataList Date="2010-03-30">
<Ds Qid="1490" Type="1" >
<Mx>
<itme Code="P" Price="100" R="2.5"/>
<itme Code="P" Price="120" R="1.5"/>
</Mx>
</Ds>
<Ds Qid="1491" Type="2" >
<Mx>
<itme Code="P" Price="200" R="5.5/>
<itme Code="P" Price="220" R="6.5/>
</Mx>
</Ds>
.......</DataList>[asp.net 1.1下能运行]
我会得到一个如上面的xml,现在的问题是我想快速做一个处理就是对R="XX" 项统一做减 1 比如 R="2.5" 应为 R="1.5"这样操作。由于结果需要输出为json 希望修改后结果 System.Data.DataTable 格式方式保存,另请注意一下代码速度问题,现在程序中的xml已接近200K了
谢谢
//1.获取所有类别列表public DataTable GetClasses()
{
DataTable tb = new DataTable();
tb.TableName = "ClassList";
tb.Columns.Add(new DataColumn("ID", typeof(string)));
tb.Columns.Add(new DataColumn("Name", typeof(string))); XmlReader reader = new XmlTextReader(HttpContext.Current.Server.MapPath(UserClassPath));
while (reader.Read())
{
//如果节点为名Article的元素节点
if (reader.NodeType == XmlNodeType.Element && reader.Name == "Class")
{
DataRow r = tb.NewRow();
r[0] = reader.GetAttribute(0);
r[1] = reader.GetAttribute(1);
tb.Rows.Add(r);
}
}
reader.Close();
reader = null;
return tb;
}
没看太明白,怎么取到节点并处理呢,
这里的难点是如何快速找到值并替换,我现在是取出所有数据重新组装,有点慢
DataSet ds = new DataSet("alert");
try
{
ds.ReadXml(fileName);
}
catch
{
_alertConfigDs = null;}
_alertConfigDs = ds;