xml 文件格式(可以可无)
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Book ID="1">
<Name>Csharp Art</Name>
<press>xi'an</press>
</Book>
<Book ID="2">
<Name>C++</Name>
<press>bejing</press>
</Book>
<Book ID="3">
<Name>Asp.NET</Name>
<press>Australia</press>
</Book>
<Book ID="6">
<Name>sdadaserwtretretre</Name>
<press>dsadas</press>
</Book>
<Book ID="6">
<Name>sdadaserwtretretre</Name>
<press>dsadas</press>
</Book>
<Book ID="6">
<Name>sdadaserwtretretre</Name>
<press>dsadas</press>
</Book>
<Book ID="6">
<Name>sdadaserwtretretre</Name>
<press>dsadas</press>
</Book>
<Book ID="6">
<Name>sdadaserwtretretre</Name>
<press>dsadas</press>
</Book>
<Book ID="6">
<Name>sdadaserwtretretre</Name>
<press>dsadas</press>
</Book>
<Book ID="6">
<Name>sdadaserwtretretre</Name>
<press>dsadas</press>
</Book>
<Book ID="6">
<Name>sdadaserwtretretre</Name>
<press>dsadas</press>
</Book>
<Book ID="6">
<Name>sdadaserwtretretre</Name>
<press>dsadas</press>
</Book>
<Book ID="6">
<Name>sdadaserwtretretre</Name>
<press>dsadas</press>
</Book>
<Book ID="6">
<Name>sdadaserwtretretre</Name>
<press>dsadas</press>
</Book>
<Book ID="6">
<Name>sdadaserwtretretre</Name>
<press>dsadas</press>
</Book>
</Root>
C# :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml.Linq;
using System.IO;
namespace linq_to_sql
{
public partial class Form_Linq_to_XML : Form
{
public Form_Linq_to_XML()
{
InitializeComponent();
}
private void Form_Linq_to_XML_Load(object sender, EventArgs e)
{
gdv_linq_to_xml.ReadOnly = true;
string str_path = "./Myxml.xml";
FileInfo file = new FileInfo(str_path);
if (!file.Exists)
{
CreateXML(str_path);
}
else
{
//Datatable
//getDateXML();
//Emlent
getDateXML1();
}
}
private void getDateXML1()
{
XDocument xml = XDocument.Load("./Myxml.xml");
var book = from b in xml.Root.Elements("Book")
select new
{
ID = b.Attribute("ID").Value,
Name = b.Element("Name").Value,
Press = b.Element("press").Value
};
gdv_linq_to_xml.DataSource = book.ToList();
}
/// <summary>
/// Load my XML
/// </summary>
private void getDateXML()
{
DataSet xmlDs = new DataSet();
xmlDs.ReadXml("Myxml.xml");
if (xmlDs != null)
{
gdv_linq_to_xml.DataSource = xmlDs.Tables[0];
}
}
/// <summary>
/// create xmL demo
/// </summary>
private void CreateXML(string str_path)
{
string xml = str_path;
string path = str_path;
#region this has a question
//XDocument root = new XDocument(new XElement("User"),
// new XElement("User", new XAttribute("ID", "1"),
// new XElement("Name","小李"),
// new XElement("Password","XXOO"),
// new XElement("description","hello testing")),
// new XElement("User", new XAttribute("ID", "2"),
// new XElement("Name","小李"),
// new XElement("Password","OOXX"),
// new XElement("description","hello testing")),
// new XElement("User", new XAttribute("ID", "3"),
// new XElement("Name","小刚"),
// new XElement("Password","ssss"),
// new XElement("description","hello Testings")));
//root.Save(str_path);
#endregion
#region
XElement filexml = new XElement("Root",
new XElement("Book",
new XAttribute("ID", 1),
new XElement("Name", "Csharp Art"),
new XElement("press", "xi'an")
),
new XElement("Book",
new XAttribute("ID", 2),
new XElement("Name", "C++"),
new XElement("press", "bejing")),
new XElement("Book",
new XAttribute("ID",3),
new XElement("Name", "Asp.NET"),
new XElement("press", "Australia")
));
filexml.Save(path);
#endregion
}
private void btnAdd_Click(object sender, EventArgs e)
{
//create xml objcet and Load my xml file;
XDocument xml = XDocument.Load("./Myxml.xml");
XElement xmlo = new XElement("Book",
new XAttribute("ID", 6),
new XElement("Name", this.textBox1.Text.Trim()),
new XElement("press", this.textBox2.Text.Trim()));
xml.Root.Add(xmlo);
xml.Save("./Myxml.xml");
getDateXML();
}
private void btnupdate_Click(object sender, EventArgs e)
{
XDocument xml = XDocument.Load("./Myxml.xml");
var book = from b in xml.Root.Elements("Book")
where b.Attribute("ID").Value == "6"
select b;
foreach (XElement xe in book)
{
xe.SetElementValue("Name", this.textBox1.Text.Trim());
xe.SetElementValue("press", this.textBox2.Text.Trim());
}
xml.Save("./Myxml.xml");
getDateXML();
}
private void btnselect_Click(object sender, EventArgs e)
{
XDocument xml = XDocument.Load("./Myxml.xml");
var book = from b in xml.Root.Elements("Book")
where b.Attribute("ID").Value == "6"
select new
{
ID=b.Attribute("ID").Value,
Name=b.Element("Name").Value,
Press=b.Element("press").Value
};
gdv_linq_to_xml.DataSource = book.ToList();
}
private void btndelete_Click(object sender, EventArgs e)
{
XDocument xml = XDocument.Load("./Myxml.xml");
var book = from p in xml.Root.Elements("Book")
where p.Attribute("ID").Value == "6"
select p;
book.Remove();
xml.Save("./Myxml.xml");
getDateXML();
}
}
}
C# Linq to xml 基本操作
最新推荐文章于 2023-05-18 19:58:19 发布