• xml 操作(动态添加 property属性 其他节点同理)


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Linq;
    using System.Xml.Linq;
    using System.Xml;
    using System.Windows.Forms;
    
    namespace ConsoleApplication27
    {
        class Program
        {
            [STAThread]
            static void Main(string[] args)
            {
                var folderPath = AppDomain.CurrentDomain.BaseDirectory + "..\..\Mapping";
                FolderBrowserDialog fbd = new FolderBrowserDialog();
                if (fbd.ShowDialog() == DialogResult.OK)
                {
                    folderPath = fbd.SelectedPath;
                }
    
               
    
                var files = System.IO.Directory.GetFiles(folderPath);
    
    
                foreach (string file in files)
                {
    
                    if (!file.Contains(".hbm.xml")) { continue; }
                    var path = file; //AppDomain.CurrentDomain.BaseDirectory + "..\..\Mapping\PosPositionProductMapping.hbm.xml";
                    XmlDocument doc = new XmlDocument();
                    doc.Load(path);
                    var plist = doc.GetElementsByTagName("property");
    
                    bool find1 = false;
                    bool find2 = false;
                    foreach (XmlNode item in plist)
                    {
    
                        if (find1 == false)
                            find1 = item.Attributes["column"].Value.ToLower().Contains("CREATED_EMPLOYEE_NAME".ToLower());
                        if (find2 == false)
                            find2 = item.Attributes["column"].Value.ToLower().Contains("CREATED_EMPLOYEE_ID".ToLower());
    
                    }
                    var cls = doc.GetElementsByTagName("class")[0];
                    if (find1 == false)
                    {
                        var e1 = doc.CreateElement("property", doc.DocumentElement.NamespaceURI);
                        e1.SetAttribute("column", "CREATED_EMPLOYEE_NAME");
                        e1.SetAttribute("name", "CreatedEmployeeName");
                        e1.SetAttribute("update", "false");
                        cls.AppendChild(e1);
                    }
                    if (find2 == false)
                    {
                        var e2 = doc.CreateElement("property", doc.DocumentElement.NamespaceURI);
                        e2.SetAttribute("column", "CREATED_EMPLOYEE_ID");
                        e2.SetAttribute("name", "CreatedEmployeeId");
                        e2.SetAttribute("update", "false");
                        cls.AppendChild(e2);
                    }
                    doc.Save(path);
                    MessageBox.Show("提示", "成功");
                }
    
            }
        }
    }
  • 相关阅读:
    java--volatile关键字
    java--线程异常处理器
    java--线程池
    Supervisor安装和使用
    网络协议--HTTP
    1.Nginx简介
    Nginx配置实战
    Redis面试题
    SpringBoot--集成swagger2
    缓存的优缺点
  • 原文地址:https://www.cnblogs.com/kexb/p/5447951.html
Copyright © 2020-2023  润新知