public void CreateXmlFile()
{
XmlDocument xmlDoc = new XmlDocument();
//创建类型声明节点
XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
xmlDoc.AppendChild(node);
//创建根节点
XmlNode root = xmlDoc.CreateElement("Users");
xmlDoc.AppendChild(root);
//using (var dbBD = new APSEntities())
//{
// //1代表准备传入数据至SAP,传入成功状态至为2
// var items = dbBD.View_QPayment_Print_TDSPAY21_List.Select(s => new { s.CompanyShortName,s.BankChineseName,s.BankAccount,s.PaymentDate,s.IworkflowID,s.Lifnr,s.Augbl,s.Name1c,s.Koinh,s.Bankac,s.Swift,s.Waers,s.Rwbtrc, CWhere = s.Waers, CWhere1 = s.BankChineseName }).Where(w => w.CWhere == "RMB" && w.CWhere1 == "花旗银行(中国)有限公司上海分行" ).Distinct();
// foreach (var item in items)
// {
// string strExpid = item.CompanyShortName.ToString().Trim();
// }
//}
XmlNode node1 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);
CreateNode(xmlDoc, node1, "name", "xuwei");
CreateNode(xmlDoc, node1, "sex", "male");
CreateNode(xmlDoc, node1, "age", "25");
root.AppendChild(node1);
XmlNode node2 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);
CreateNode(xmlDoc, node2, "name", "xiaolai");
CreateNode(xmlDoc, node2, "sex", "female");
CreateNode(xmlDoc, node2, "age", "23");
root.AppendChild(node2);
try
{
xmlDoc.Save("c://data5.xml");
}
catch (Exception e)
{
//显示错误信息
Console.WriteLine(e.Message);
}
//Console.ReadLine();
}
/// <summary>
/// 创建节点
/// </summary>
/// <param name="xmldoc"></param> xml文档
/// <param name="parentnode"></param>父节点
/// <param name="name"></param> 节点名
/// <param name="value"></param> 节点值
///
public void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value)
{
XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
node.InnerText = value;
parentNode.AppendChild(node);
}
/// <summary>
/// 读取XML文件
/// </summary>
/// <param name="file"></param>
private void ReadFile(string file)
{
XmlDocument doc = new XmlDocument();
doc.Load("c://data5.xml"); //加载Xml文件
XmlElement rootElem = doc.DocumentElement; //获取根节点
XmlNodeList personNodes = rootElem.GetElementsByTagName("User"); //获取person子节点集合
foreach (XmlNode node in personNodes)
{
XmlNodeList subNameNodes = ((XmlElement)node).GetElementsByTagName("name"); //获取age子XmlElement集合
if (subNameNodes.Count == 1)
{
string strAge = subNameNodes[0].InnerText;
Console.WriteLine(strAge);
}
XmlNodeList subSexNodes = ((XmlElement)node).GetElementsByTagName("sex"); //获取age子XmlElement集合
if (subSexNodes.Count == 1)
{
string strAge = subSexNodes[0].InnerText;
Console.WriteLine(strAge);
}
XmlNodeList subAgeNodes = ((XmlElement)node).GetElementsByTagName("age"); //获取age子XmlElement集合
if (subAgeNodes.Count == 1)
{
string strAge = subAgeNodes[0].InnerText;
Console.WriteLine(strAge);
}
}
}
private void WriteFile(string file)
{
Dictionary<string, string> source = new Dictionary<string, string>();
source.Add("name", "神州侠侣");
source.Add("quantity", "50");
source.Add("price", "45.55");
source.Add("author", "tiger");
if (File.Exists(file))
{
XmlDocument xml = new XmlDocument();
xml.Load(file);
//以下代码为自动创建序号时使用,若你的数据源本身有序号,则可忽略
XmlNodeList node = xml.SelectNodes("books/book");
int count = Convert.ToInt32(node.Item(node.Count - 1).ChildNodes.Item(0).InnerText);
count++;
XmlElement ab = xml.CreateElement("book");
StringBuilder s = new StringBuilder();
s.Append("<id><!CDATA" + count.ToString() + "></id>");
foreach (KeyValuePair<string, string> c in source)
{
s.Append("<" + c.Key + "><!CDATA" + c.Value + "></" + c.Key + ">");
}
ab.InnerXml = s.ToString();
xml.DocumentElement.AppendChild(ab);
xml.Save(file);
}
else
{
//文件不存在,这里可以采用第一种方法写入数据
}
}