zoukankan      html  css  js  c++  java
  • 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("提示", "成功");
                }
    
            }
        }
    }
  • 相关阅读:
    Beanshell 创建全局变量(跨线程组)
    Beanshell 将外部文件导入到jmeter中使用
    session 、cookie、token的区别及联系
    Fiddler Everywhere 结合了postman和fiddler的抓包神器
    jmeter+ant+jenkins接口自动化测试框架
    虚拟机 VMware Workstation Pro 15.5.0 及永久激活密钥
    Mysql--编译安装5.6版本
    Mysql--调优
    Nginx--调优
    ulimit
  • 原文地址:https://www.cnblogs.com/kexb/p/5447951.html
Copyright © 2011-2022 走看看