• Linq To Xml操作类


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    using System.Reflection;
    using System.Xml;
    using System.Xml.Linq;
    using System.Windows.Forms;
    using System.Net;

    /*Xml操作类:Ruiky 2011-12-28*/
    namespace FinanceGrab.Common.Util
    {
        public class XmlUtil
        {
            private static object Syncr = new object();
            

    View Code
    /// <summary>
    /// 写入Xml数据
    /// </summary>
    /// <param name="xmlName">Xml名称</param>
    /// <param name="grabName">抓取产品名称</param>
    /// <param name="standardName">库中名称</param>
    /// <param name="proCode">产品代码</param>
    /// <param name="remark">备注</param>
    /// <returns>True:成功,False:失败</returns>
    public static bool InsertXml(string xmlName, string websiteID, string grabName, string standardName, string proCode, string remark)
    {
    lock (Syncr)
    {
    try
    {
    XDocument doc = new XDocument();
    string xmlFilePath = Directory.GetParent(Assembly.GetExecutingAssembly().Location) + @"\" + xmlName;

    if (!File.Exists(xmlFilePath))
    {
    doc.Add(new XElement("Websites", ""));
    doc.Save(xmlFilePath);
    }

    doc = XDocument.Load(xmlFilePath);
    bool b = UpdateXml(xmlFilePath,websiteID, grabName, standardName, proCode, remark);
    if (!b)
    {
    XElement xe = new XElement("Website", new XAttribute("siteId", websiteID),
    new XElement("Product",
    new XAttribute("GrabName", grabName),
    new XAttribute("Code", proCode),
    new XAttribute("StandardName", standardName),
    new XAttribute("Remark", remark),
    new XAttribute("AddTime", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")),
    new XAttribute("HostName", Dns.GetHostName())
    ));

    doc.Element("Websites").Add(xe);
    doc.Save(xmlFilePath);
    return true;
    }

    return b;

    }
    catch (System.Exception ex)
    {
    MessageBox.Show(ex.Message);
    return false;
    }
    }
    }

    /// <summary>
    /// 更新Xml数据
    /// </summary>
    /// <param name="xmlFilePath">Xml路径名称</param>
    /// <param name="grabName">抓取产品名称</param>
    /// <param name="standardName">库中名称</param>
    /// <param name="proCode">产品代码</param>
    /// <param name="remark">备注</param>
    /// <returns>True:成功,False:失败</returns>
    public static bool UpdateXml(string xmlFilePath, string websiteID, string grabName, string standardName, string proCode, string remark)
    {
    lock (Syncr)
    {
    try
    {
    XDocument doc = XDocument.Load(xmlFilePath);

    if (doc != null)
    {
    var vIsCreatWebsite = (from g in doc.Elements().Descendants("Website")/*是否创建网站记录:网站唯一性*/
    where g.Attribute("siteId").Value.Equals(websiteID)
    select g).FirstOrDefault();



    if (vIsCreatWebsite != null)
    {
    var vIsCreatProduct = (from g in vIsCreatWebsite.Descendants("Product")/*是否创建产品记录:产品唯一性*/
    where g.Attribute("GrabName").Value.Equals(grabName)
    select g).FirstOrDefault();

    if (vIsCreatProduct == null)
    {
    XElement xe = new XElement("Product");
    xe.SetAttributeValue("GrabName", grabName);
    xe.SetAttributeValue("Code", proCode);
    xe.SetAttributeValue("StandardName", standardName);
    xe.SetAttributeValue("Remark", remark);
    xe.SetAttributeValue("AddTime", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));
    xe.SetAttributeValue("HostName", Dns.GetHostName());

    vIsCreatWebsite.Add(xe);
    doc.Save(xmlFilePath);

    return true;
    }
    else
    {
    vIsCreatProduct.SetAttributeValue("Code", proCode);
    vIsCreatProduct.SetAttributeValue("Remark", remark);

    doc.Save(xmlFilePath);
    return true;
    }
    }
    }

    return false;

    }
    catch (System.Exception ex)
    {
    MessageBox.Show(ex.Message);
    return false;
    }
    }
    }

        }
    }

  • 相关阅读:
    Shiro入门
    Springmvc 文件上传和json处理
    SpringMVC入门
    Mybatis关联关系
    Mybatis整合Ehcache或Redis实现二级缓存
    mybatis与spring集成
    mybatis动态sql以及分页
    MyBatis入门
    使用java代码操作Redis
    【转】 制作Android Demo GIF:程序演示效果GIF图录制
  • 原文地址:https://www.cnblogs.com/Ruiky/p/2305987.html
Copyright © 2020-2023  润新知