`
programlv
  • 浏览: 6063 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

C# 操作 XML 总结

阅读更多
using System;   
using System.Xml;   
using System.Globalization;   
  
  
public class XmlTool{   
  
  public static void Main(string[] args){   
     XML.WriteXMLMain();   
  }   
  
  
}   
  
class XML{  
#region 时间|通道号|串联单文件名称|终端号   
    public static string dString_yyyy_MM_dd;  //日期表达式:2009_01_01   
    public static string dString_MM_dd;       //日期表达式:01_01   
    public static string dString_MMdd;        //日期表达式:0101   
       
    public static string TongDaoNo;   
    public static string xmlFileName;   
    public static string ZhongDuanNo;   
       
    public static XmlElement col,col1,col2,col3,col4,col5,col6,col7;  //标题列   
    public static XmlElement listheader,lists,list;   
    public static XmlDocument doc;   
    public static XmlElement record,listitem,listitem1,listitem2,listitem3,listitem4,listitem5,listitem6,listitem7;   
       
    //public static int minTimeItem,maxTimeItem;  
      
#endregion   
  
///写串联单记录record   
public static void WriteXMLMain(){   
           
        MakeXMLName();   
           
        DateTime d=new DateTime();   
        DateTime myD;//时段   
        long ssLiuShuiNo=1000000000;//素材编号计数   
        long myTicks=Environment.TickCount;//流水号  
          
#region  定义root 不动头 lists   list   
        doc=new XmlDocument();   
        //定义XML 标头信息
		try{
		XmlDeclaration dec=doc.CreateXmlDeclaration("1.0","GBK",null);
	    doc.AppendChild(dec);}
		catch(Exception e){
		   Console.WriteLine("->Catch Exception:"+e);
		}
		
        lists=doc.CreateElement("lists");   
        doc.AppendChild(lists);   
  
        list=doc.CreateElement("list");   
        lists.AppendChild(list);  
#endregion   
                   
        AddHeader();//表头listheader   
           
        Console.WriteLine("请输入素材的播放时长:");   
        int perTime=Int32.Parse(Console.ReadLine());//播放时长   
        int ssNo=0;   
        Console.WriteLine("请输入素材前缀:");   
        string ssNameHead=Console.ReadLine();   
           
        Console.WriteLine("请输入素材类型  <文本5 图片3 视频1>");   
        string ssType=Console.ReadLine();   
           
        Console.WriteLine("请输入串联单编号:1位递增");   
        string seriCount=Console.ReadLine();   
           
        Console.WriteLine("请输入人员编号:");   
        string person=Console.ReadLine();   
           
        string dateSingle=dString_MMdd;   
           
        Console.WriteLine("请输入是否全屏幕  0 非全屏 1 全屏");   
        string ScreenType=Console.ReadLine();  
#region 内容   
       for(int i=0;i<48;i++){
	   
	    //修改时段-------------半个小时一个时段30‘   
          
         myD=d.AddMinutes(i*30);//时段递增30分钟   
         string timeStampNo=(i+1).ToString();   
            
         string TimeItem=myD.ToString("T", DateTimeFormatInfo.InvariantInfo);//转换为 短时间格式T   
        for(int j=1;j<=30*60/perTime;j++){//------------修改素材播放时长----------------  
            
        #region 批量素材段内顺序 格式:00001   
          string ssName="";   
          string ssOrder="";   
          if(j<10)   
             ssOrder="0000"+j;   
          if(j>=10 && j<=99)   
            ssOrder="000"+j;   
          if(j>=100 && j<=999)             
            ssOrder="00"+j.ToString();   
          if(j>=1000 && j<=9999)           
            ssOrder="0"+j;   
          if(j>9999)   
            ssOrder=j.ToString();  
        #endregion   
               
          //批量处理素材名称:图片00001   00001为素材段内顺序  图片 (1).txt   
           
          //ssName="图片"+ssLiuShuiNo.ToString().Substring(5);   
          int a=ssNo++;   
          ssName=ssNameHead+" ("+a+")";//----------修改素材版本-----------   
             
          //ssName="Sax"+a;   
             
          if(a==4){   
              ssNo=0;     
          }  
           
            
#region  动态生成XML节点  record   
        record=doc.CreateElement("record");   
           
           
        listitem=doc.CreateElement("listitem");//时段编码   
        listitem.SetAttribute("value",timeStampNo);    
        record.AppendChild(listitem);   
           
        listitem1=doc.CreateElement("listitem");//时段预播时间   
        listitem1.SetAttribute("value",TimeItem);   
        record.AppendChild(listitem1);   
           
        listitem3=doc.CreateElement("listitem");//素材编号   P22250831 1_ _ _ _ _   文本5 图片3 视频1   
        listitem3.SetAttribute("value","P"+person+person+person+ssType+dateSingle+seriCount+ssLiuShuiNo.ToString().Substring(5,5));   
        record.AppendChild(listitem3);   
        ssLiuShuiNo++;   
        if(ssName==ssNameHead+" (4)"){   
        ssLiuShuiNo=1000000000;}   
          //每40个素材 轮播一次   
           
        listitem2=doc.CreateElement("listitem");//广告版本   
        listitem2.SetAttribute("value",ssName);   
        record.AppendChild(listitem2);   
           
        listitem4=doc.CreateElement("listitem");//广告长度   
        listitem4.SetAttribute("value",perTime.ToString());   
        record.AppendChild(listitem4);   
           
        listitem5=doc.CreateElement("listitem");//段内顺序   001   
        listitem5.SetAttribute("value",ssOrder.Substring(2));   
        record.AppendChild(listitem5);   
           
        listitem6=doc.CreateElement("listitem");//流水号   文本0  图片1 视频2   
        //listitem6.SetAttribute("value",person+seriCount+dateSingle.Substring(1,3)+ssType+myLiuShui++.ToString().Substring(5,5)); 
        		
        listitem6.SetAttribute("value",String.Format("{0:D11}",myTicks++)); 	
        record.AppendChild(listitem6);   
          
        listitem7=doc.CreateElement("listitem");//是否全屏幕   
        listitem7.SetAttribute("value",ScreenType);   
        record.AppendChild(listitem7);   
           
        list.AppendChild(record);  
#endregion   
           
        }   
       
       }   
       
        SaveXML();  
#endregion   
           
}   
  
///产生XML文件名称   
public static void MakeXMLName(){   
    Console.WriteLine("--------------------------------串联单制造  DEMO  V1.0------");   
    Console.Write("日期:");   
    DateTime dNow=DateTime.Now;   
       
    dString_yyyy_MM_dd=string.Format("{0:yyyy_MM_dd}",dNow);   
    dString_MM_dd=string.Format("{0:MM_dd}",dNow);   
    dString_MMdd=string.Format("{0:MMdd}",dNow);   
       
    Console.WriteLine(dString_yyyy_MM_dd);   
      
    Console.WriteLine("请输入通道号:");   
    TongDaoNo=Console.ReadLine();//通道号   
    Console.WriteLine(":"+TongDaoNo);      
       
    Console.WriteLine("请输入终端号:");   
    ZhongDuanNo=Console.ReadLine();//终端号   
    if(ZhongDuanNo=="") //没有终端号   
      xmlFileName="Bill_"+dString_yyyy_MM_dd+"_001_"+TongDaoNo+".xml";//产生串联单文件名称   
    else//有终端号   
      xmlFileName="Bill_"+dString_yyyy_MM_dd+"_001_"+TongDaoNo+"_"+ZhongDuanNo+".xml";//产生串联单文件名称   
    //Console.WriteLine(xmlFileName);   
}   
  
///增加表头列:listHeader   
public static void AddHeader(){   

        listheader=doc.CreateElement("listheader");   
        list.AppendChild(listheader);   
  
        col=doc.CreateElement("col");   
        col.SetAttribute("name","时段编号");   
        listheader.AppendChild(col);   
           
        col1=doc.CreateElement("col");   
        col1.SetAttribute("name","时段预播时间");   
        listheader.AppendChild(col1);   
           
        col2=doc.CreateElement("col");   
        col2.SetAttribute("name","素材编号");   
        listheader.AppendChild(col2);   
           
        col3=doc.CreateElement("col");   
        col3.SetAttribute("name","广告版本");   
        listheader.AppendChild(col3);   
           
        col4=doc.CreateElement("col");   
        col4.SetAttribute("name","广告长度");   
        listheader.AppendChild(col4);   
           
        col5=doc.CreateElement("col");   
        col5.SetAttribute("name","段内顺序");   
        listheader.AppendChild(col5);   
           
        col6=doc.CreateElement("col");   
        col6.SetAttribute("name","流水号");   
        listheader.AppendChild(col6);   
           
        col7=doc.CreateElement("col");   
        col7.SetAttribute("name","是否全屏幕");   
        listheader.AppendChild(col7);   
}   
  
///保存XML文件   
public static void SaveXML(){
    doc.Save(@"D:\myBill\"+xmlFileName);   // 保存文件   
    Console.WriteLine("创建完成:"+xmlFileName+"   <<<"+DateTime.Now.ToString()+">>>");   
}   

}  






主要方法有:
                col2=doc.CreateElement(&quot;col&quot;);
                col6.SetAttribute(&quot;name&quot;,&quot;流水号&quot;);
listheader.AppendChild(col6);

 

  • 大小: 46.6 KB
分享到:
评论

相关推荐

    c#读写xml总结

    C# 读写 XML 文件总结 C# 读写 XML 文件是软件开发中常见的操作。本文总结了 C# 读写 XML 文件的基本方法,包括创建、修改和删除 XML 节点。 创建 XML 节点 C# 中使用 `XmlDocument` 类来创建和操作 XML 文件。...

    c#操作XML 读取、生成,WEBSERVICE接口

    1. **C#操作XML:读取** 在C#中,我们可以使用`System.Xml`命名空间中的类来处理XML文档。其中,`XmlDocument`类是核心,用于加载和操作XML文档。例如,以下代码展示了如何读取一个XML文件: ```csharp using ...

    C#操作XML完整demo

    总结起来,"C#操作XML完整Demo"项目旨在教授如何在C#环境中使用XML,结合三层架构设计,提供了一个实用的学习平台。通过实践这个项目,开发者不仅可以掌握XML的基础操作,还能了解到如何在实际项目中组织代码和处理...

    C#操作XML,读取XML到数据库和增删改

    C# 操作 XML,读取 XML 到数据库和增删改 C# 语言可以轻松地操作 XML 文件,读取 XML 文件的内容并将其存储到数据库中。同时,C# 也可以对 XML 文件进行增删改操作。 读取 XML 文件 要读取 XML 文件,首先需要将 ...

    C#操作xml文件读写

    本文将深入探讨如何在C#中操作XML文件,解决“未将对象引用到实例”的问题,并介绍如何通过PUT方法提交表单信息。 首先,让我们了解在C#中读取XML文件的基本步骤。使用`System.Xml`命名空间中的`XmlDocument`类可以...

    c# 操作 XML文件

    总结起来,C#提供了丰富的XML处理工具,如XmlWriter、XmlDocument和XmlNode等,使得在程序中对XML文件进行创建、读取、添加元素和删除元素变得非常方便。熟练掌握这些操作对于进行数据存储和交换至关重要,特别是在...

    C#解析XML文件并用WinForm显示

    要解析XML文件,C#提供了System.Xml命名空间,其中包含如XmlDocument、XmlNode、XmlElement等类,用于读取、操作和解析XML数据。 1. **使用XmlDocument解析XML** - `XmlDocument` 类是解析XML文件的核心。通过`new...

    自用 c# 操作 xml 和 sqlserver 的类库

    通过自定义类,开发者可能封装了这些操作,提供了一种更简洁、统一的接口来操作XML数据。 SQL Server是Microsoft公司推出的关系型数据库管理系统,广泛应用于企业级的数据存储和管理。在C#中与SQL Server交互,通常...

    C# linq操作xml

    在.NET框架中,C#语言提供了LINQ(Language Integrated Query,语言集成查询)技术,它极大地简化了数据查询,包括对XML文档的操作。本主题将深入探讨如何使用C#的LINQ来处理XML,包括对单级和多级节点的查询、更新...

    C#+XML做的通讯录

    接下来,我们来看看如何使用C#操作XML。在C#中,我们可以使用System.Xml命名空间下的类来读写XML文件。例如,XmlDocument类用于加载和操作XML文档,XmlNode类表示XML文档的节点,而XmlNodeList则用来存储一组XmlNode...

    C#操作XML—VS2008

    在本文中,我们将深入探讨如何使用C#编程语言在Visual Studio 2008(VS2008)环境中操作XML文件,实现增、删、查、改等基本功能。XML(eXtensible Markup Language)是一种用于存储和传输数据的标准化格式,广泛应用...

    自己写的一个C# 操作XML的例子

    总结起来,这个C#操作XML的例子旨在展示如何加载XML文档,查询和修改节点,以及保存更改。实践中,你可能需要结合XPath和Linq to XML来实现更复杂的XML操作,例如查询、过滤、排序和聚合数据。这些技能对于任何C#...

    C#对XML的操作详细介绍

    总结起来,C#提供了强大的XML处理能力,通过`XmlDocument`和`XDocument`等类,可以轻松地完成XML的创建、添加、删除和查询。无论是在应用程序配置、数据交换还是数据存储等方面,XML与C#的结合都能发挥出强大的功能...

    C#操作XML方法.zip_guardlme_xml操作_服务器

    总结,这个“C#操作XML方法.zip”资源涵盖了C#编程中与XML相关的基础知识,包括XML的读取、写入、查询、修改和序列化等操作,对于Web服务器开发者来说是非常宝贵的参考资料。通过学习和实践这些方法,开发者能够更...

    c#_xml读写_操作_实例

    在C#中,我们可以使用`System.Xml`命名空间中的`XmlDocument`类来读取和操作XML文件。首先,我们通过`Load`方法加载XML文件,然后使用`SelectSingleNode`方法找到特定节点,如`bookstore`。接着,使用`...

    C#对xml文件读写

    该命名空间包含许多类,如XmlDocument、XmlNode、XmlElement等,用于创建、解析和操作XML文档。 1. **读取XML文件**: 使用`XmlDocument`类可以加载XML文件并进行解析。以下是一个简单的例子: ```csharp using ...

    C#操作Xml文件.rar_CSahrpForXml

    "C#操作Xml文件.rar_CSahrpForXml"这个压缩包文件显然包含了关于如何在C#中处理XML文件的相关示例或教程。 首先,C#中的XmlDocument类是处理XML文档的核心工具。这个类允许程序员加载XML文件,然后通过DOM...

    C#操作XML方法

    1. **XMLElement**: 这个类用于创建和操作XML元素。你可以通过它来创建新的XML节点,设置或获取属性值,以及添加子节点。 2. **XMLDocument**: 提供了一种方式来操作整个XML文档,包括插入、删除和修改节点。XML...

    c#中对XML文件进行读写操作

    在C#中,我们可以使用System.Xml命名空间下的类来操作XML文件。以下是两个关键的类: 1. **XmlDocument**: 用于加载、操作和保存XML文档。它提供了一种基于DOM(Document Object Model)的处理方式,允许你遍历整个...

    rsa加密串转C#的xml格式

    总结,RSA加密串转C#的XML格式涉及生成密钥对、转换密钥格式、加载密钥以及执行加密解密操作。在.NET 5.0框架下,我们可以利用`RSACryptoServiceProvider`或`RSA`类来实现这些功能。通过理解和实践这些步骤,开发者...

Global site tag (gtag.js) - Google Analytics