当前位置: 首页 > news >正文

怎么做公司网站的二维码wordpress 添加自定义栏目

怎么做公司网站的二维码,wordpress 添加自定义栏目,专业网站定制平台,描述photoshop在网站建设中的作用与特点.C# 读写xml文件总结C#写入xml文件1、XmlDocument2、DataSet对象里的值来生成XML文件3、利用XmlSerializer来将类的属性值转换为XML文件的元素值。示例:写入xml1、创建xml文档2 、增加节点3 、修改节点:4 、删除节点c#读取xml文件C#写入xml文件 1、XmlDo…

C# 读写xml文件总结

    • C#写入xml文件
        • 1、XmlDocument
        • 2、DataSet对象里的值来生成XML文件
        • 3、利用XmlSerializer来将类的属性值转换为XML文件的元素值。
      • 示例:写入xml
        • 1、创建xml文档
        • 2 、增加节点
        • 3 、修改节点:
        • 4 、删除节点
    • c#读取xml文件

C#写入xml文件

1、XmlDocument

1。我认为是最原始,最基本的一种:利用XmlDocument向一个XML文件里写节点,然后再利用XmlDocument保存文件。
首先加载要写入的XML文件,但是如果没有的,就要新建,在新建的过程中,要有写入的代码;

XmlDocument doc = new XmlDocument();try{doc.Load("new.xml");}catch{XmlTextWriter xtw = new XmlTextWriter("new.xml", Encoding.UTF8);//新建XML文件        xtw.WriteStartDocument();xtw.WriteStartElement("gnode");// gnode根节点                 xtw.WriteStartElement("myxm1");// gnode根节点下的元素myxmls             xtw.WriteEndElement();xtw.WriteEndElement();xtw.WriteEndDocument();xtw.Close();doc.Load("new.xml");}XmlNode xn = doc.DocumentElement;//找到根节点     XmlElement xe = doc.CreateElement("myxml2");//在根节点下创建元素,如果是属性,则用XmlAttribute; xe.InnerText = "薪薪代码hahaha";//给子节点写入文本节点(值)     xn.AppendChild(xe);//根节点将其纳入         doc.Save("new2.xml");//利用XmlDocument保存文件}

注意点:在新建根节点的时候,WriteStartElement,只能嵌套,也就是只能有一个根节点。

2、DataSet对象里的值来生成XML文件

应用到数据库,将数据库的DataSet对象里的值来生成XML文件的元素;

using (SqlConnection con = new SqlConnection("Server=.;DataBase=HGSTUDY;uid=sa;pwd=yao")){con.Open();SqlCommand command = new SqlCommand("select * from GL_STUDY", con);command.CommandType = CommandType.Text;DataSet ds = new DataSet("DATASET");//DATASET将成为XML文件中的根节点名称,否则系统将其命名为NewDataSet      SqlDataAdapter sda = new SqlDataAdapter();sda.SelectCommand = command;sda.Fill(ds, "DATATABLE");//DATATABLE为所生成XML文件中的子节点名称,否则系统将其命名为Table。   ds.WriteXml("dbxml.xml");// DataSet的方法WriteXml将数据写入到XML文件,就是这么一句话。如果不保存到文件,直接ds.GetXML()      }

3、利用XmlSerializer来将类的属性值转换为XML文件的元素值。

用一个字符串作为一个XML文档中的xmlAttribute或xmlElement。[其元素或属性由类的定义来设置(xml串行化)]

using System;System.xml.Serialization;

  1. 先初始化一个类,设置属性值
var xmlDoc = new XmlDocument();
//Create the xml declaration first
xmlDoc.AppendChild(xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null));
//Create the root node and append into doc
var el = xmlDoc.CreateElement("Contacts");
xmlDoc.AppendChild(el);
// Contact
XmlElement elementContact = xmlDoc.CreateElement("Contact");
XmlAttribute attrID = xmlDoc.CreateAttribute("id");
attrID.Value = "01";
elementContact.Attributes.Append(attrID);
el.AppendChild(elementContact);
// Contact Name
XmlElement elementName = xmlDoc.CreateElement("Name");
elementName.InnerText = "Daisy Abbey";
elementContact.AppendChild(elementName);
// Contact Gender
XmlElement elementGender = xmlDoc.CreateElement("Gender");
elementGender.InnerText = "female";
elementContact.AppendChild(elementGender);
xmlDoc.Save("test1.xml");
  1. 建XmlSerializer实例
class XXX {  XmlSerializer ser = new XmlSerializer(Type.GetType("forxml.truck"));   Truck tr = new Truck();     tr.ID = 1;    tr.cheID = "赣A T34923";}
  1. Serialize方法–完成对类的串行化
XmlTextWriter xtw = new XmlTextWriter("myxml.xml",Encoding.UTF8); 用XmlTextWriter 创建一个XML文件   ser.Serialize(xtw, tr);      //如果只想显示,可以直接ser.Serialize(Console.Out, tr);
}

xml常用方法:
定义xml文档:XmlDocument xmlDoc = new XmlDocument();
初始化xml文档:xmlDoc.Load(“D:\book.xml”);//找到xml文件
创建根元素:XmlElement xmlElement = xmlDoc.CreateElement(“”, “Employees”, “”);
创建节点:XmlElement xeSub1 = xmlDoc.CreateElement(“title”);
查找Employees节点:XmlNode root = xmlDoc.SelectSingleNode(“Employees”);
添加节点:xe1.AppendChild(xeSub1);
更改节点的属性:xe.SetAttribute(“Name”, “李明明”);
移除xe的ID属性:xe.RemoveAttribute(“ID”);
删除节点title:xe.RemoveChild(xe2);

示例:写入xml

1、创建xml文档

public void CreateXMLDocument()
{XmlDocument xmlDoc = new XmlDocument();          
//加入XML的声明段落,<?xml version="1.0" encoding="gb2312"?>XmlDeclaration xmlDeclar;xmlDeclar = xmlDoc.CreateXmlDeclaration("1.0", "gb2312", null);xmlDoc.AppendChild(xmlDeclar);          //加入Employees根元素XmlElement xmlElement = xmlDoc.CreateElement("", "Employees", "");xmlDoc.AppendChild(xmlElement);        //添加节点XmlNode root = xmlDoc.SelectSingleNode("Employees");XmlElement xe1 = xmlDoc.CreateElement("Node");xe1.SetAttribute("Name", "薪薪代码");xe1.SetAttribute("ISB", "2-3631-4");        //添加子节点XmlElement xeSub1 = xmlDoc.CreateElement("title");xeSub1.InnerText = "学习VS";xe1.AppendChild(xeSub1);XmlElement xeSub2 = xmlDoc.CreateElement("price");xe1.AppendChild(xeSub2);XmlElement xeSub3 = xmlDoc.CreateElement("weight");xeSub3.InnerText = "20";xeSub2.AppendChild(xeSub3);root.AppendChild(xe1);xmlDoc.Save("D:\\book.xml");//保存的路径
}

生成的xml文件如下:

<?xml version="1.0" encoding="GB2312"?>
-<Employees>-<Node ISB="2-3631-4" Name="薪薪代码"><title>学习VS</title>-<price><weight>20</weight></price></Node>
</Employees>

2 、增加节点

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("D:\\book.xml");//找到xml文件
XmlNode root = xmlDoc.SelectSingleNode("Employees");//查找Employees节点
XmlElement xe1 = xmlDoc.CreateElement("Node2");//添加Node2节点
xe1.SetAttribute("Name", "张飞");
XmlElement xeSub1 = xmlDoc.CreateElement("title");//定义子节点
xeSub1.InnerText = "心情好";
xe1.AppendChild(xeSub1);//添加节点到Node2
root.AppendChild(xe1);//添加节点到Employees
xmlDoc.Save("D:\\book.xml");

结果:

<?xml version="1.0" encoding="GB2312"?>-<Employees>-<Node ISB="2-3631-4" Name="薪薪代码"><title>学习VS</title>-<price><weight>20</weight></price></Node>-<Node2 Name="张三"><title>心情好</title></Node2>-<Node2 Name="张三"><title>心情好</title></Node2>
</Employees>

3 、修改节点:

public void ModifyNode()
{XmlDocument xmlDocument = new XmlDocument();xmlDocument.Load("D:\\book.xml");XmlNodeList nodeList = xmlDocument.SelectSingleNode("Employees").ChildNodes;//获取Employees节点的所有子节点foreach (XmlNode xn in nodeList)//遍历{XmlElement xe = (XmlElement)xn;if (xe.GetAttribute("Name") == "薪薪代码"){xe.SetAttribute("Name", "薪薪");//更改节点的属性XmlNodeList xnl = xe.ChildNodes;//获取xe的所有子节点foreach (XmlNode xn1 in xnl){XmlElement xe2 = (XmlElement)xn1;//将节点xn1的属性转换为XmlElementif (xe2.Name == "title")//找到节点名字为title的节点{xe2.InnerText = "今天天气不好";}if (xe2.Name == "price"){XmlNodeList xnl2 = xe2.ChildNodes;foreach (XmlNode xn2 in xnl2){if (xn2.Name == "weight"){xn2.InnerText = "88";}}}}}}xmlDocument.Save("D:\\book2.xml");
}

运行结果:

<?xml version="1.0" encoding="GB2312"?>
-<Employees>
-<Node ISB="2-3631-4" Name="薪薪">
<title>今天天气不好</title>-<price>
<weight>88</weight>
</price>
</Node>
-<Node2 Name="张三">
<title>心情好</title>
</Node2></Employees>

4 、删除节点

public void DeleteNode()
{XmlDocument xmlDocument = new XmlDocument();xmlDocument.Load("D:\\book1.xml");XmlNodeList xnl = xmlDocument.SelectSingleNode("Employees").ChildNodes;foreach (XmlNode xn in xnl){if (xn.Name == "Node"){XmlElement xe = (XmlElement)xn;//将xn的属性转换为XmlElementxe.RemoveAttribute("ID");//移除xe的ID属性XmlNodeList xnl2 = xe.ChildNodes;for (int i = 0; i < xnl2.Count; i++){XmlElement xe2 = (XmlElement)xnl2.Item(i);if (xe2.Name == "title"){xe.RemoveChild(xe2);//删除节点title}}}}xmlDocument.Save("D:\\book3.xml");
}

结果:

<?xml version="1.0" encoding="GB2312"?>
-<Employees>
-<Node ISB="2-3631-4" Name="薪薪">-<price>
<weight>20</weight>
</price>
</Node>-
<Node2 Name="张三">
<title>心情好</title>
</Node2>-
<Node2 Name="张三">
<title>心情好</title>
</Node2>
</Employees>

c#读取xml文件

xml文件如下:

<?xml version="1.0" encoding="utf-8" ?>
<configurationN><ServerAddress>1143</ServerAddress><ID>192.168</ID></configurationN>

在写入xml文件时,最主要使用了两个方法:Load和Save。

Load:初始化xml文档,以便项目文件获取具体的xml节点的值。

public void Load(string path)
{try{XmlDocument xmlDocument = new XmlDocument();xmlDocument.Load(path);XmlNodeList xnl = xmlDocument.SelectSingleNode(managerNode).ChildNodes;foreach (XmlNode xn in xnl){if (xn.Name == configuration_ServerAddress){ServerAddress = xn.InnerText;}}}catch(Exception ex){ }
}

Save:在项目系统中进行修改配置文件值后,需要对xml进行重新保存

public void Save(string path)
{try{XmlDocument xmlDocument = new XmlDocument();xmlDocument.Load(path);XmlNodeList xnl = xmlDocument.SelectSingleNode(managerNode).ChildNodes;foreach (XmlNode xn in xnl){if (xn.Name == configuration_ServerAddress){xn.InnerText = ServerAddress;}}xmlDocument.Save(path);}catch (Exception ex){ }
}

此处将所有代码都贴出来,方便下次实现。因为项目是WPF文件,而且都是简单控件,所以只贴出后台代码。

class ConfigurationManager:INotifyPropertyChanged
{public const string managerNode = "configurationN";//根节点public const string configuration_ServerAddress = "ServerAddress";//子节点private string _ServerAddress;public string ServerAddress{get { return _ServerAddress; }set{_ServerAddress = value;NotifyPropertyChanged("ServerAddress");}}public void Load(string path){try{XmlDocument xmlDocument = new XmlDocument();xmlDocument.Load(path);XmlNodeList xnl = xmlDocument.SelectSingleNode(managerNode).ChildNodes;foreach (XmlNode xn in xnl){if (xn.Name == configuration_ServerAddress){ServerAddress = xn.InnerText;}}}catch(Exception ex){ }}public void Save(string path){try{XmlDocument xmlDocument = new XmlDocument();xmlDocument.Load(path);XmlNodeList xnl = xmlDocument.SelectSingleNode(managerNode).ChildNodes;foreach (XmlNode xn in xnl){if (xn.Name == configuration_ServerAddress){xn.InnerText = ServerAddress;}}xmlDocument.Save(path);}catch (Exception ex){ }}public event PropertyChangedEventHandler PropertyChanged;private void NotifyPropertyChanged(string propertyName){if (PropertyChanged != null){PropertyChanged(this, new PropertyChangedEventArgs(propertyName));}}public static ConfigurationManager Instance = new ConfigurationManager();
}public partial class MainWindow : Window
{public MainWindow(){InitializeComponent();Start();this.tb1.Text = ConfigurationManager.Instance.ServerAddress.ToString();}private string path = "CONFIG\\System.xml";private void button1_Click(object sender, RoutedEventArgs e){ConfigurationManager.Instance.ServerAddress = this.tb1.Text;ConfigurationManager.Instance.Save(path);}private void button2_Click(object sender, RoutedEventArgs e){Application.Current.Shutdown();}private void Start(){ConfigurationManager.Instance.Load(path);}
}
http://www.yayakq.cn/news/878511/

相关文章:

  • 福永网站设计网站建设套定额
  • 大连推广网站搭建哪家好阿里云做视频网站
  • 企业网站建设项目描述做网站设计的公司
  • 网站建设公司客户分析wordpress 分类目录 丢失
  • 做百度移动网站网站布局结构图
  • 衡阳网站搜索引擎优化温州门户网站
  • 广州建网站藤虎wordpress如何修改博客模板
  • 网站做签到功能学校网站建设渠道
  • 网站建设西安开发公司宣传语
  • 黄金网站大全免费wordpress全站背景音乐
  • 怎么做晒鱼的网站百度推广运营专员
  • 上海市网站建设网站免费大全
  • 做网站 需要什么商标公司宣传册设计与制作公司
  • 怎样用ps设计网站模板如何让一个网站排名掉
  • 做电影网站需要注意事项漳州台商投资区建设局网站
  • 怎样做动漫照片下载网站济宁嘉祥网站建设
  • 深圳网站开发运营公司iis5.1 新建网站
  • 上海网站开发学校有哪些百度网盘怎么找片
  • 网站建设顺序微信小程序在哪里?
  • 网站建设工作量评估报价表开发手机app价格
  • 网站建设多少时间个人简历样本
  • 大型网站技术方案深圳企业网站开发
  • 做公司网站需要什么程序海报设计理念
  • 网站中页面链接怎么做沈阳做网站有名公司有哪些
  • 域名及网站建设实验报告怎么样做网站或产品推广
  • 互动平台网站建设长春网站建设及推广
  • 网站建设横幅系列素材ftp下的内部网站建设
  • 免费领手机 网站网页安全防护如何关闭
  • 建设报名系统网站杭州seo关键词优化公司
  • 电子商务网站建设 教案快递建站收费标准