xml文件拆分

lbq0801 2011-03-30 10:00:59
请教文件拆分,最好有实例代码
源文件
<Request>
<RequestMethod>CreateForm</RequestMethod>
<LogOnInfo>
<SenderIP>172.30.37.82</SenderIP>
<ReceiverIP>172.30.1.100</ReceiverIP>
<EFSiteName>EF2KWeb</EFSiteName>
<EFLogonID>toptest</EFLogonID>
<OrgUnitID>
</OrgUnitID>
</LogOnInfo>
<RequestContent>
<Form>
<PlantID>DS3</PlantID>
<ProgramID>apmt910</ProgramID>
<SourceFormID>9ND</SourceFormID>
<SourceFormNum>9ND-07060028{+}pna02=1</SourceFormNum>
<FormCreatorID>811431</FormCreatorID>
<FormOwnerID>811431</FormOwnerID>
<ContentText>
<title>采购变更单维护作业</title>
<head>
<pna01>9ND-07060028</pna01>
<pna02> 1</pna02>
<pna04>09/12/24</pna04>
<pna08>RMB 人民币</pna08>
<pna08b>
</pna08b>
<pna09>DDU DDU</pna09>
<pna09b>
</pna09b>
<pna10>A0001 特殊付款</pna10>
<pna10b>
</pna10b>
<pna11>
</pna11>
<pna11b>
</pna11b>
<pna12>
</pna12>
<pna12b>
</pna12b>
<pnauser>811431 </pnauser>
</head>
<body>
<record>
<dummy01> 1-0:初始</dummy01>
<dummy02>QTAT3-BNB0100A</dummy02>
<dummy03>EAAT3008018</dummy03>
<dummy04>AT3A BASE FF 主机</dummy04>
<dummy05> 300.000</dummy05>
<dummy06>PC</dummy06>
<dummy07> 0.000000</dummy07>
<dummy08> 0.000000</dummy08>
<dummy09>07/06/28</dummy09>
<dummy10>
</dummy10>
</record>
<record>
<dummy01> 1-1:更改</dummy01>
<dummy02>
</dummy02>
<dummy03>
</dummy03>
<dummy04>
</dummy04>
<dummy05>
</dummy05>
<dummy06>
</dummy06>
<dummy07>
</dummy07>
<dummy08> 0.000000</dummy08>
<dummy09>
</dummy09>
<dummy10>
</dummy10>
</record>
</body>
<attachment>N</attachment>
</ContentText>
</Form>
</RequestContent>
</Request>

拆分的文件1:
<Request>
<RequestMethod>CreateForm</RequestMethod>
<LogOnInfo>
<SenderIP>172.30.37.82</SenderIP>
<ReceiverIP>172.30.1.100</ReceiverIP>
<EFSiteName>EF2KWeb</EFSiteName>
<EFLogonID>toptest</EFLogonID>
<OrgUnitID>
</OrgUnitID>
</LogOnInfo>
<RequestContent>
<Form>
<PlantID>DS3</PlantID>
<ProgramID>apmt910</ProgramID>
<SourceFormID>9ND</SourceFormID>
<SourceFormNum>9ND-07060028{+}pna02=1</SourceFormNum>
<FormCreatorID>811431</FormCreatorID>
<FormOwnerID>811431</FormOwnerID>
<ContentText>
<title>采购变更单维护作业</title>
<head>
<pna01>9ND-07060028</pna01>
<pna02> 1</pna02>
<pna04>09/12/24</pna04>
<pna08>RMB 人民币</pna08>
<pna08b>
</pna08b>
<pna09>DDU DDU</pna09>
<pna09b>
</pna09b>
<pna10>A0001 特殊付款</pna10>
<pna10b>
</pna10b>
<pna11>
</pna11>
<pna11b>
</pna11b>
<pna12>
</pna12>
<pna12b>
</pna12b>
<pnauser>811431 </pnauser>
</head>
<body>
<record>
<dummy01> 1-0:初始</dummy01>
<dummy02>QTAT3-BNB0100A</dummy02>
<dummy03>EAAT3008018</dummy03>
<dummy04>AT3A BASE FF 主机</dummy04>
<dummy05> 300.000</dummy05>
<dummy06>PC</dummy06>
<dummy07> 0.000000</dummy07>
<dummy08> 0.000000</dummy08>
<dummy09>07/06/28</dummy09>
<dummy10>
</dummy10>
</record>
</body>
<attachment>N</attachment>
</ContentText>
</Form>
</RequestContent>
</Request>
拆分文件2
<Request>
<RequestMethod>CreateForm</RequestMethod>
<LogOnInfo>
<SenderIP>172.30.37.82</SenderIP>
<ReceiverIP>172.30.1.100</ReceiverIP>
<EFSiteName>EF2KWeb</EFSiteName>
<EFLogonID>toptest</EFLogonID>
<OrgUnitID>
</OrgUnitID>
</LogOnInfo>
<RequestContent>
<Form>
<PlantID>DS3</PlantID>
<ProgramID>apmt910</ProgramID>
<SourceFormID>9ND</SourceFormID>
<SourceFormNum>9ND-07060028{+}pna02=1</SourceFormNum>
<FormCreatorID>811431</FormCreatorID>
<FormOwnerID>811431</FormOwnerID>
<ContentText>
<title>采购变更单维护作业</title>
<head>
<pna01>9ND-07060028</pna01>
<pna02> 1</pna02>
<pna04>09/12/24</pna04>
<pna08>RMB 人民币</pna08>
<pna08b>
</pna08b>
<pna09>DDU DDU</pna09>
<pna09b>
</pna09b>
<pna10>A0001 特殊付款</pna10>
<pna10b>
</pna10b>
<pna11>
</pna11>
<pna11b>
</pna11b>
<pna12>
</pna12>
<pna12b>
</pna12b>
<pnauser>811431 </pnauser>
</head>
<body>
<record>
<dummy01> 1-1:更改</dummy01>
<dummy02>
</dummy02>
<dummy03>
</dummy03>
<dummy04>
</dummy04>
<dummy05>
</dummy05>
<dummy06>
</dummy06>
<dummy07>
</dummy07>
<dummy08> 0.000000</dummy08>
<dummy09>
</dummy09>
<dummy10>
</dummy10>
</record>
</body>
<attachment>N</attachment>
</ContentText>
</Form>
</RequestContent>
</Request>
...全文
155 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zilong4460072 2011-03-30
  • 打赏
  • 举报
回复
给你一个代码实例看看
XML文件

<pre>
<root>
<result>0</result>
<orderLists>
<orderList>
<olNbr>1</olNbr>
<soDate>2011-03-11 20:00:00</soDate >
<description>Kobe has five championRings</description>
</orderList>
<orderList>
<olNbr>3</olNbr>
<soDate>2011-03-13 20:00:00</soDate >
<description>Lbjames is very strong</description>
</orderList>
<orderList>
<olNbr>2</olNbr>
<soDate>2011-03-12 20:00:00</soDate >
<description>Wade run fast</description>
</orderList>
<orderList>
<olNbr>5</olNbr>
<soDate>2011-03-15 20:00:00</soDate >
<description>Yaoming is very high</description>
</orderList>
<orderList>
<olNbr>4</olNbr>
<soDate>2011-03-14 20:00:00</soDate >
<description>Tracy's action is very beautiful</description>
</orderList>
</orderLists>
</root>
</pre>

取得节点内容的代码:

public static DataTable GetXmlInfoMulti(string xmlPath)
{
DataTable resultDT = new DataTable();
resultDT.Columns.Add("olNbr");
resultDT.Columns.Add("soDate");
resultDT.Columns.Add("description");
string str = string.Empty;
XmlDocument xmlDoc = new XmlDocument();
//加载XML文件
xmlDoc.Load(xmlPath);
XmlElement root = xmlDoc.DocumentElement;
//读取第一层节点
foreach (XmlElement node in root.ChildNodes)
{
//读取第二层节点
foreach (XmlElement chileNode in node.ChildNodes)
{
if (chileNode.Name.Equals("result"))
{
//取得result节点的值
string resultStr = chileNode.InnerText;
//如果不为0,则无数据
if (!resultStr.Equals("0"))
{
return resultDT;
}
}
else if (chileNode.Name.Equals("orderLists"))
{
foreach (XmlElement orderList in chileNode.ChildNodes)
{
DataRow dr = resultDT.NewRow();
foreach (XmlElement floorNode in orderList.ChildNodes)
{
if (floorNode.Name.Equals("olNbr"))
{
dr["olNbr"] = floorNode.InnerText;
}
else if (floorNode.Name.Equals("soDate"))
{
dr["soDate"] = floorNode.InnerText;
}
else if (floorNode.Name.Equals("description"))
{
dr["description"] = floorNode.InnerText;
}
}
resultDT.Rows.Add(dr);
}
}
}
}
return dt;
}
bdmh 2011-03-30
  • 打赏
  • 举报
回复
拆什么啊,拆成什么样子,xmldocument自己处理啊
机器人 2011-03-30
  • 打赏
  • 举报
回复
至少写说明下你拆分条件厄,贴这么长xml,谁有那么多时间一个个节点对?

110,538

社区成员

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

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

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