关于复杂XML解析成DataTable,求大神解答

苦逼de小Coder 2012-09-25 10:50:24
XML文件如下:
<?xml version="1.0" encoding="gb2312"?>
<air_info ret_value="1" date="14SEP(FRI)" from="SHA" to="CAN" fromname="上海虹桥" toname="广州" Mileage="1308" fule_adult="130" fule_child="60">
<airline line_number="MU5307" share_line="" company="东方航空" sc="SHA" sa="上海虹桥机场" ac="CAN" aa="广州白云机场" stime="0730" atime="0950" airrax="50" fulerax="130" fueladu="130" fuelchd="60" food="1" food_detail="S" dfly="1" type="320" et="1" stn="T2" atn="--">
<c b="F" u="0" d="230折" p="2940" s="2" t="2"></c>
<c b="P" u="0" d="*未知" p="0" s="0" t="Q"></c>
<c b="A" u="0" d="*未知" p="0" s="0" t="S"></c>
<c b="Y" u="0" d="100折" p="1280" s="A" t="A"></c>
<c b="K" u="0" d="*未知" p="0" s="A" t="A"></c>
<c b="B" u="0" d="95折" p="1220" s="A" t="A"></c>
<c b="E" u="0" d="90折" p="1150" s="A" t="A"></c>
<c b="H" u="0" d="85折" p="1090" s="A" t="A"></c>
<c b="L" u="0" d="80折" p="1040" s="A" t="A"></c>
<c b="M" u="0" d="77折" p="990" s="0" t="Q"></c>
<c b="N" u="0" d="73折" p="930" s="0" t="Q"></c>
<c b="R" u="0" d="70折" p="880" s="0" t="Q"></c>
<c b="S" u="0" d="65折" p="830" s="0" t="Q"></c>
<c b="V" u="0" d="55折" p="700" s="0" t="Q"></c>
<c b="T" u="0" d="50折" p="640" s="0" t="Q"></c>
<c b="W" u="0" d="*未知" p="0" s="0" t="Q"></c>
<c b="G" u="0" d="*未知" p="0" s="0" t="Q"></c>
<c b="X" u="0" d="*未知" p="0" s="0" t="Q"></c>
<c b="Q" u="0" d="*未知" p="0" s="A" t="A"></c>
<c b="I" u="0" d="*未知" p="0" s="5" t="5"></c>
</airline>
</air_info>
...全文
293 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zz5174213267 2012-09-25
  • 打赏
  • 举报
回复
如果是有选择性的筛选解析成dt的话,直接用liqu查询的枚举再转成dt
zf904 2012-09-25
  • 打赏
  • 举报
回复
//讲某路径下xml文件读入DataSet
string fileName = DataCom.UploadPath + "\\" + tableName;
if (File.Exists(fileName + ".xml") == false)
{
MessageBox.Show("没有数据包。");
return false;
}

////初始化XML架构文件操作流
//FileStream FsXSD = new FileStream(fileName + ".xsd", FileMode.Open);
////初始化XML架构读取设备
//XmlTextReader xtrXSD = new XmlTextReader(FsXSD);

//初始化DataSet
DataSet DS = new DataSet();
////载入XML架构到DS中
//DS.ReadXmlSchema(xtrXSD);
//按照装载的XML架构载入XML数据到DS
DS.ReadXml(fileName + ".xml", XmlReadMode.ReadSchema);
hfjfhxfufckg 2012-09-25
  • 打赏
  • 举报
回复
C#里有个ReadXml的方法 可以将XML转换成datatable类型
DataTable.ReadXml(Stream stream)
苦逼de小Coder 2012-09-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

对比的table有个固定的格式 是节点里面的每个属性都对应一个字段吗?
子节点与父节点应该也有关系吧 条件又是什么呢?
[/Quote]
只对比一部分,不全部对比,只是需要对比之后添加一些数值或者修改一些数值
hfjfhxfufckg 2012-09-25
  • 打赏
  • 举报
回复
对比的table有个固定的格式 是节点里面的每个属性都对应一个字段吗?
子节点与父节点应该也有关系吧 条件又是什么呢?
苦逼de小Coder 2012-09-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

解析成一个datatable不是很麻烦吗?
[/Quote]
解析出来的数据要和数据库中的数据对比
hfjfhxfufckg 2012-09-25
  • 打赏
  • 举报
回复
解析成一个datatable不是很麻烦吗?
苦逼de小Coder 2012-09-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

你是说将整个XML都解析成DATATABLE还是说只是将某一个节点下的内容解析成DATATABLE类型?
[/Quote]
将整个XML解析成datatable
hfjfhxfufckg 2012-09-25
  • 打赏
  • 举报
回复
你是说将整个XML都解析成DATATABLE还是说只是将某一个节点下的内容解析成DATATABLE类型?
苦逼de小Coder 2012-09-25
  • 打赏
  • 举报
回复
UP!别沉
bdmh 2012-09-25
  • 打赏
  • 举报
回复
先搞明白如何解析xml,剩下的就是将取得的数据,自己组织到datatable
这个是完整源码 python实现 大数据 Spark pyspark 可视化大屏+Kafka+FastAPI+Vue3 【大数据毕业设计】基于Spark实时电商用户行为分析与预测(Python版本+pyspark+可视化大屏+Kafka+FastAPI+Vue3) 源码+论文 完整版 数据库Mysql 随着电子商务规模持续扩大,用户在浏览、加购、收藏与购买等环节产生的行为数据呈现高并发、高吞吐与强时效特征。传统离线批处理分析难以满足运营决策对实时性的要。本文设计并实现了一套基于 Spark 的实时电商用户行为分析与预测系统,围绕“数据采集—流式计算—指标落库—可视化展示—销售预测”的完整链路展开研究与工程实践。 系统采用前后端分离架构:前端基于 Vue3、Element Plus 与 ECharts 构建管理端与数据大屏;后端采用 Python FastAPI 提供 RESTful 接口,并结合 JWT 完管理员身份认证;实时链路以 Kafka 作为消息中间件承接行为事件,以 Spark Structured Streaming 完按小时窗口的 PV、UV、加购、收藏、购买与销售额聚合;预测模块基于 Spark ML 线性回归对销售额序列进行建模,并输出 RMSE、MAE、MAPE 等误差指标。数据持久化采用 MySQL,数据库名为 db_ecommerce,核心业务表均以 t_ 前缀命名。 测试结果表明,系统能够稳定完管理员登录、个人中心维护、行为与商品管理、实时统计展示、销售预测对比及流水线状态监控等功能,具备较好的可扩展性与教学示范价值,可为电商运营提供实时洞察与辅助决策支持。 本文的主要工作包括:完系统需分析与总体架构设计;绘制实体属性图与实体关系图并完八张核心业务表设计;实现基于 Kafka 与 Spark 的实时统计及销售预测链路;完 Vue

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧