介绍
XML基础概念:
扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
常用传输格式一般用XML或者JSON。两者主要区别在于XML:扩展性好,资源开销大。JSON:资源开销小。
XML使用(原生接口)
XML创建与节点设置
var xml = new System.Xml.XmlDocument();
XmlDeclaration declaration = xml.CreateXmlDeclaration("1.0", "UTF-8", "");//xml文档的声明部分
xml.AppendChild(declaration);//添加至XmlDocument对象中
XmlElement User = xml.CreateElement("User");//创建根节点User
XmlNode Student = xml.CreateElement("Student");//创建子节点ID
XmlElement ID = xml.CreateElement("ID");//创建子节点元素
ID.InnerText = "123";
User.AppendChild(Student);//子节点
Student.AppendChild(ID);//子节点元素
xml.AppendChild(User);//根目录User,有且只有一个
xml.Save(@"E:\1.xml");
插入元素值
var xml = new System.Xml.XmlDocument();
xml.Load(@"E:\1.xml");
XmlNode nodeparams = xml.SelectSingleNode("User");//找根节点
XmlElement Name = xml.CreateElement("Name");
nodeparams.AppendChild(Name); //New Node
xml.Save(@"E:\1.xml");//修改完成后保存
修改元素值
var xml = new System.Xml.XmlDocument();
xml.Load(@"E:\1.xml");
XmlNode nodeparams = xml.SelectSingleNode("User");//找根节点
if (nodeparams != null)
{
XmlNode nodeparams2 = nodeparams.SelectSingleNode("Student");//子节点
if(nodeparams2!=null)
{
XmlNodeList nodelist = nodeparams2.ChildNodes;
if (nodelist != null)
{
XmlNode ID = nodelist[0];
ID.InnerText = "2221";
xml.Save(@"E:\1.xml");//修改完成后保存
}
}
}
else
{
MessageBox.Show("no element");
}
删除元素值
var xml = new System.Xml.XmlDocument();
xml.Load(@"E:\1.xml");
XmlNode nodeparams = xml.SelectSingleNode("User");//找根节点
XmlNode Name = nodeparams.SelectSingleNode("Name");
nodeparams.RemoveChild(Name); //New Node
xml.Save(@"E:\1.xml");//修改完成后保存
Linq to XML
创建并保存
XDocument xdoc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XElement("root",new XElement("Student", new XElement("ID", "123")),new XElement("item1", "2")));
xdoc.Save(@"E:\1.xml");
创建后结果
123
2
查找并添加结点
XDocument xdoc = XDocument.Load(@"E:\1.xml");
XElement xElement = xdoc.Element("root");
xElement.Add(new XElement("Test"));
xdoc.Save(@"E:\1.xml");
输出结果
123
2
删除结点
XDocument xdoc = XDocument.Load(@"E:\1.xml");
XElement xElement = xdoc.Element("root");
XElement Test =xElement.Element("Test");
Test.Remove();
//xElement.Remove();
xdoc.Save(@"E:\1.xml");
查询元素值
XDocument xdoc = XDocument.Load(@"E:\1.xml");
XElement xElement = xdoc.Element("root");
XElement item1 = xElement.Element("item1");//查找item1结点的值
string a = item1.Value.ToString();
MessageBox.Show(a.ToString());
参考博客
XMLNode:https://www.cnblogs.com/net-sky/p/10412082.html
Linq to XMl:https://blog.csdn.net/songyi160/article/details/50824274
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/141208.html