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("提示", "成功");
                }
    
            }
        }
    }
  • 相关阅读:
    MC9S12 硬件设计
    ESD
    选用与使用稳压二极管的介绍
    MOSFET 栅极电阻作用及其选型
    orcad常用库文件介绍
    开关电源和LDO的区别
    续流二极管的作用及选型
    为什么大电容滤低频小电容滤高频的问题
    Java常用API——时间类
    Idea问题:“marketplace plugins are not loaded”解决方案
  • 原文地址:https://www.cnblogs.com/kexb/p/5447951.html
Copyright © 2011-2022 走看看