向高手请教 关于 XMl的读写 以下这个方法和XMl文件 可以读 可以写 但是在Save的时候 就又被还原了 求解决

多喝水呀 2011-09-06 05:39:24
这个是
XMl文本
<?xml version="1.0" standalone="yes"?>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Receive">
<xs:complexType>
<xs:sequence>
<xs:element name="ReceID" type="xs:string" minOccurs="0" />
<xs:element name="ReceBranch" type="xs:string" minOccurs="0" />
<xs:element name="ReceOwner" type="xs:string" minOccurs="0" />
<xs:element name="ReceRoute" type="xs:string" minOccurs="0" />
<xs:element name="ReceBusiness" type="xs:string" minOccurs="0" />
<xs:element name="ReceProvider" type="xs:string" minOccurs="0" />
<xs:element name="ReceShip" type="xs:string" minOccurs="0" />
<xs:element name="ReceAmount" type="xs:float" minOccurs="0" />
<xs:element name="ReceWeight" type="xs:float" minOccurs="0" />
<xs:element name="ReceComeTime" type="xs:dateTime" minOccurs="0" />
<xs:element name="ReceRemark" type="xs:string" minOccurs="0" />
<xs:element name="ReceBranch1" type="xs:string" minOccurs="0" />
<xs:element name="Creator" type="xs:string" minOccurs="0" />
<xs:element name="CreateTime" type="xs:dateTime" minOccurs="0" />
<xs:element name="ReceGroup" type="xs:string" minOccurs="0" />
<xs:element name="ReceBranch2" type="xs:string" minOccurs="0" />
<xs:element name="ReceMender" type="xs:string" minOccurs="0" />
<xs:element name="ReceLast" type="xs:dateTime" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Stock">
<xs:complexType>
<xs:sequence>
<xs:element name="StocID" type="xs:string" minOccurs="0" />
<xs:element name="StocBranch" type="xs:string" minOccurs="0" />
<xs:element name="StocOrdert" type="xs:string" minOccurs="0" />
<xs:element name="StocFirst" type="xs:string" minOccurs="0" />
<xs:element name="StocEnd" type="xs:string" minOccurs="0" />
<xs:element name="StocCard" type="xs:string" minOccurs="0" />
<xs:element name="StocYard" type="xs:string" minOccurs="0" />
<xs:element name="StocArea" type="xs:string" minOccurs="0" />
<xs:element name="StocBreed" type="xs:string" minOccurs="0" />
<xs:element name="StocMatter" type="xs:string" minOccurs="0" />
<xs:element name="StocSpec" type="xs:string" minOccurs="0" />
<xs:element name="StocChar" type="xs:string" minOccurs="0" />
<xs:element name="StocLength" type="xs:string" minOccurs="0" />
<xs:element name="StocBundle" type="xs:string" minOccurs="0" />
<xs:element name="StocBirth" type="xs:string" minOccurs="0" />
<xs:element name="StocType" type="xs:string" minOccurs="0" />
<xs:element name="StocRule" type="xs:string" minOccurs="0" />
<xs:element name="StocQuality" type="xs:string" minOccurs="0" />
<xs:element name="StocBundleC" type="xs:string" minOccurs="0" />
<xs:element name="StocRefer" type="xs:string" minOccurs="0" />
<xs:element name="StocGrass" type="xs:string" minOccurs="0" />
<xs:element name="StocBirthD" type="xs:dateTime" minOccurs="0" />
<xs:element name="StocMeasure" type="xs:string" minOccurs="0" />
<xs:element name="StocAmountI" type="xs:double" minOccurs="0" />
<xs:element name="StocWeightI" type="xs:double" minOccurs="0" />
<xs:element name="StocRemark" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>

为什么能读 能写 但是 Save的时候又被还原了 是什么 请指教 谢谢
...全文
57 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdl2005lyx 2011-09-14
  • 打赏
  • 举报
回复
楼主,主要是你代码太长,很多都不愿意看!这种事情,也只有自己调试了。。。
多喝水呀 2011-09-13
  • 打赏
  • 举报
回复
自己解决了! 哎···世态炎凉啊
蝶恋花雨 2011-09-07
  • 打赏
  • 举报
回复
http://blog.csdn.net/lovefootball/article/details/2785922
蝶恋花雨 2011-09-07
  • 打赏
  • 举报
回复
设置断点跟踪一下 save的时候没有根据它的name来更新吧。
String xml = ""; // XML内容
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xml);
XmlNode node = xmlDoc.SelectSingleNode("aasman/makeannc/field[@name='zone_maps']");
if(node)
{
node.Attributes["value"] = "新值"
}
多喝水呀 2011-09-07
  • 打赏
  • 举报
回复
难道没有高手了吗? 我不信! 高手 where 啊 Y
多喝水呀 2011-09-06
  • 打赏
  • 举报
回复
为什么能读 能写 但是 Save的时候又被还原了 是什么 请指教 谢谢
多喝水呀 2011-09-06
  • 打赏
  • 举报
回复
这个是读写方法
try
{
string strXmlPath = System.AppDomain.CurrentDomain.BaseDirectory + "ReportTemplate\\" + "Receive.xml";
//XmlDataDocument xDoc = new XmlDataDocument();
XmlDocument xDoc = new XmlDocument();
xDoc.Load(strXmlPath);
//XmlNode xn = xDoc.SelectSingleNode("/NewDataSet");
//XmlNodeList xnl = xn.ChildNodes;
//foreach (XmlNode xn1 in xnl)
//{
// if (xn1.Name == "Stock" || xn1.Name == "Receive")
// xn.RemoveChild(xn1);
//}
//XmlNodeList xnl = xDoc.SelectNodes("/NewDataSet/Stock");

//foreach (XmlNode xn in xnl)
//{
// if (xn.Name == "Stock")
// xn.ParentNode.RemoveChild(xn);

//}
DataSet ds = new DataSet();
ds.ReadXmlSchema(strXmlPath);
List<l_StockModel> listStock = new List<l_StockModel>();
l_ReceiveModel modReceicve = new l_ReceiveModel();
l_ReceiveBll bllReceive = new l_ReceiveBll(ConfigForm.GlobalBranchID);
l_StockBll bllStock = new l_StockBll(ConfigForm.GlobalBranchID);
modReceicve = bllReceive.GetModel("ReceID='" + ReceValue + "'");
listStock = bllStock.GetModelList("*", "StocKind=0 and StocIn='" + ReceValue + "'");
if (modReceicve != null)
{
DataRow dr = ds.Tables["Receive"].NewRow();
dr["ReceID"] = modReceicve.ReceID;
dr["ReceBranch"] = ConfigForm.GetBranchName(modReceicve.ReceBranch);
dr["ReceOwner"] = ConfigForm.GetClientName(modReceicve.ReceOwner);
dr["ReceRoute"] = ConfigForm.GetOutRouteName(Convert.ToInt32(modReceicve.ReceRoute));
dr["ReceBusiness"] = modReceicve.ReceOperation;
dr["ReceProvider"] = ConfigForm.GetClientName(modReceicve.ReceProvider);
dr["ReceShip"] = modReceicve.ReceShip;
dr["ReceAmount"] = modReceicve.ReceAmountI;
dr["ReceWeight"] = modReceicve.ReceWeightI;
dr["ReceComeTime"] = modReceicve.ReceCome;
dr["ReceRemark"] = modReceicve.ReceRemark;
dr["ReceBranch1"] = ConfigForm.GetBranchName(modReceicve.ReceBranch1);
dr["Creator"] = ConfigForm.GetUserName(modReceicve.ReceCreator);
dr["CreateTime"] = modReceicve.ReceCreate;
dr["ReceGroup"] = ConfigForm.GetGroupName(modReceicve.ReceGroup);
dr["ReceBranch2"] = ConfigForm.GetBranchName(modReceicve.ReceBranch2);
dr["ReceMender"] = ConfigForm.GetUserName(modReceicve.ReceMender);
dr["ReceLast"] = modReceicve.ReceLast;
ds.Tables["Receive"].Rows.Add(dr);
}
if (listStock.Count > 0)
{
for (int i = 0; i < listStock.Count; i++)
{
DataRow dr = ds.Tables["Stock"].NewRow();
dr["StocID"] = listStock[i].StocID;
dr["StocBranch"] = ConfigForm.GetBranchName(listStock[i].StocBranch);
dr["StocOrdert"] = listStock[i].StocOrder;
dr["StocFirst"] = listStock[i].StocFirst;
dr["StocEnd"] = listStock[i].StocEnd;
dr["StocCard"] = listStock[i].StocCard;
dr["StocYard"] = listStock[i].StocYard;
dr["StocArea"] = listStock[i].StocArea;
dr["StocBreed"] = ConfigForm.GetBreedName(listStock[i].StocBreed.ToString());
dr["StocMatter"] = ConfigForm.GetMatterName(listStock[i].StocMatter);
dr["StocSpec"] = listStock[i].StocSpec;
dr["StocChar"] = listStock[i].StocChar;
dr["StocLength"] = listStock[i].StocLength;
dr["StocBundle"] = listStock[i].StocBundle;
dr["StocBirth"] = listStock[i].StocBirth;
dr["StocType"] = listStock[i].StocType;
dr["StocRule"] = listStock[i].StocRule;
dr["StocQuality"] = listStock[i].StocQuality;
dr["StocBundleC"] = listStock[i].StocBundleC;
dr["StocRefer"] = listStock[i].StocRefer;
dr["StocGrass"] = listStock[i].StocGrass;
dr["StocBirthD"] = Convert.ToDateTime(listStock[i].StocBirthD);
dr["StocMeasure"] = listStock[i].StocMeasure;
dr["StocAmountI"] = listStock[i].StocAmountI;
dr["StocWeightI"] = listStock[i].StocWeightI;
dr["StocRemark"] = listStock[i].StocRemark1;
ds.Tables["Stock"].Rows.Add(dr);
}
}
ds.WriteXml(strXmlPath,XmlWriteMode.WriteSchema);
//ds.WriteXmlSchema(
//ds.WriteXmlSchema(strXmlPath);
xDoc.Save(strXmlPath);

//xDoc.Save("E:\\Logistics Manage\\Debug\\ReportTemplate\\Receive.xml");

//System.Threading.Thread.Sleep(1000);
//xDoc.Load(strXmlPath);
}
catch (Exception ex)
{
throw ex;
}

110,533

社区成员

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

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

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