XML文件的生成与读取
生活随笔
收集整理的這篇文章主要介紹了
XML文件的生成与读取
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
從數據庫生成:
?
public static void ToXML(string tablename){//獲取數據string sql = "select * from " + tablename;DataTable dt = SqlHelper.GetList(sql);//創建xml對象XDocument document = new XDocument();//創建根節點XElement root = new XElement(tablename + "s");document.Add(root);//遍歷表格,添加結點foreach (DataRow item in dt.Rows){//創建元素節點XElement element = new XElement(tablename);//設置編號屬性(key value,效果:<user c_id="1"> </user>)element.SetAttributeValue(dt.Columns[0].ColumnName, item[0].ToString());//假設0列為主鍵列//將所有列(除編號列外)分別生成子元素(key value,效果: <c_name>洛杉磯</c_name>)for (int i = 1; i < dt.Columns.Count; i++){element.SetElementValue(dt.Columns[i].ColumnName, item[i].ToString());}root.Add(element);}//保存生成的xmldocument.Save(tablename+".xml");}?從文件中讀取:
?
public void getXml(){XDocument document = new XDocument();//加載文件document = XDocument.Load("Test.xml");//讀取根節點XElement root = document.Root;// Console.WriteLine("節點名:"+root.Name+"節點值:"+root.FirstAttribute.Value);//加入節點前使用linq to xml的語法判斷id是否存在int n = root.Elements("student").Where(u => u.Attribute("id").Value == "15" || u.Element("name").Value == "王五").Count();if (n > 0){Console.WriteLine("id已經存在");}else {XElement element = new XElement("student");//設置屬性element.SetAttributeValue("id", "15");//設置節點下的子節點element.SetElementValue("name", "王五");element.SetElementValue("age", "68");//加入到根元素下 root.Add(element);//保存操作document.Save("Test.xml");}//循環讀取節點內容foreach (XElement item in root.Elements()){Console.WriteLine("節點名:" + item.Name + " 節點屬性值:" + item.Attribute("id").Value + " 節點值:" + item.Element("name").Value);}}?
XElement n = root.Elements("rootFile").Where(u => u.Attribute("name").Value == "rf").ElementAt(0);
MessageBox.Show(n.Attribute("value").Value);
展示一下子節點的屬性值
轉載于:https://www.cnblogs.com/llcdbk/p/4342270.html
總結
以上是生活随笔為你收集整理的XML文件的生成与读取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Entity Framework 实体框
- 下一篇: 利用InfoPath实现SharePoi