110,535
社区成员
发帖
与我相关
我的任务
分享
<DocumentElement>
<xlsTab>
<Field0>0001</Field0>
<Field1>AA</Field2>
<Field2>2010-09-01</Field1>
</xlsTab>
<xlsTab>
<Field0>0001</Field0>
<Field1>BB</Field2>
<Field2>2010-09-02</Field1>
</xlsTab>
<xlsTab>
<Field0>0001</Field0>
<Field1>CC</Field2>
<Field2>2010-09-03</Field1>
</xlsTab>
<xlsTab>
<Field0>0001</Field0>
<Field1>DD</Field2>
<Field2>2010-09-04</Field1>
</xlsTab>
</DocumentElement>
<DocumentElement>
<xlsTab>
<Field0>0001</Field0>
<Field1>AA</Field2>
<Field2>2010-09-01</Field1>
</xlsTab>
<xlsTab>
<Field0>0001</Field0>
<Field1>XX</Field2>
<Field2>2010-09-02</Field1>
</xlsTab>
<xlsTab>
<Field0>0001</Field0>
<Field1>XX</Field2>
<Field2>2010-09-03</Field1>
</xlsTab>
<xlsTab>
<Field0>0001</Field0>
<Field1>DD</Field2>
<Field2>2010-09-04</Field1>
</xlsTab>
</DocumentElement>
public static void ChangeChildElement(string fileName, string rootElement, string FindName, string SearchVal,string SearchVal2 string NewValue)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(fileName);
XmlNodeList nodeList = xmlDoc.SelectSingleNode(rootElement).ChildNodes;
bool flag = false;
foreach (var node in nodeList)
{
XmlElement el=(XmlElement)node;
XmlNodeList elemList = el.GetElementsByTagName(FindName);
XmlNodeList elemList2 = el.GetElementsByTagName("Field2");
string Fileld2=Convert.ToDateTime(elemList2[0].InnerXml);
if (Fileld2>=Convert.ToDateTime(SearchVal) && Fileld2<=Convert.ToDateTime(SearchVal2))
{
flag = true;
elemList[0].InnerXml = NewValue;
}
}
if(flag)
xmlDoc.Save(fileName);
}
XDocument Doc = XDocument.Load("c:\\test.xml");
var query=from X in Doc.Descendants("User")
let Fileld2=Convert.ToDateTime(X.Element("Field2").Value)
where Fileld2>=Convert.ToDateTime("2010-09-02") && Fileld2<=Convert.ToDateTime("2010-09-03")
select X;
foreach (var v in query)
{
v.Element("Field1").Value = "xxxxxx";
}
Doc.Save("c:\\test.xml");