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("提示", "成功");
                }
    
            }
        }
    }
  • 相关阅读:
    【操作系统】主存空间的分配和回收
    学术诚信与职业道德
    读《构建之法》第 8、9、10 章有感
    操作系统第三次作业
    sprint
    软件工程学期总结
    实验四 主存空间的分配和回收
    第二个冲刺
    Scrum项目6.0 和8910章读后感
    Spring 计划 7.0
  • 原文地址:https://www.cnblogs.com/kexb/p/5447951.html
Copyright © 2011-2022 走看看