2014年8月16日更新:用户下载《高山流水2014V4》记事日历
发现冬月十七阿弥陀佛圣诞未显示检查发现由于程序设计时做修改而忘记把字符也改过来的原因,打开记事文件把“寒月”全部替换为"冬月"即可解决不显示问题,解决后如图:
首先,据反映上次发布的<记事五行农历Excel通用版>运行速度确有点慢,因此,此次把记录保存改为XML文件,运行速度明显快很多,况且XML文档可以使用"记事本"程序打开进行编辑,方便极了,更不需要安装任何插件便可支持,对于XML还是初涉,设计当中还是遇到些问题,这些问题已经都解决了,就遇到的问题如何解决,将在之下会给予公布,看看导出来的XML文档内容,该文档收集数百常用日历显示的日期和内容:
2013年11月17日:
升级啦!它不仅是一款农历,同时也是一款轻便XML文档查看和编辑器,能导入XML文档进行编辑后导出保存.
功能补充说明:在内容中书写“提醒”字符可弹出提示框及音乐播放。
2014年1月11日更新:新增自定义列,创建自己定义的列名保存到XML文件中,该功能主要用于自己想创建多少列就创建多少列,不受限制,自由发挥.如:创建自己定义的通信录\地址录等等
<?xml version="1.0" standalone="yes"?> <NewDataSet> <五行农历显示> <日期>11.4.4</日期> <内容>感恩节</内容> </五行农历显示> <五行农历显示> <日期>二月初二</日期> <内容>龙抬头节</内容> </五行农历显示> <五行农历显示> <日期>三月廿三</日期> <内容>妈祖生辰</内容> </五行农历显示> <五行农历显示> <日期>正月十二</日期> <内容>净宗七祖省常法师圆寂日</内容> </五行农历显示> <五行农历显示> <日期>正月廿一</日期> <内容>净宗九祖蕅益法师圆寂日</内容> </五行农历显示> <五行农历显示> <日期>二月初二</日期> <内容>福德土地正神诞</内容> </五行农历显示> <五行农历显示> <日期>二月初三</日期> <内容>文昌帝君诞辰</内容> </五行农历显示> <五行农历显示> <日期>二月初六</日期> <内容>东华帝君诞;雷斋日</内容> </五行农历显示> <五行农历显示> <日期>二月十八</日期> <内容>地藏斋;四殿五官王诞;至圣先师孔子讳辰</内容> </五行农历显示> <五行农历显示> <日期>二月廿六</日期> <内容>净宗六祖永明法师圆寂日</内容> </五行农历显示> <五行农历显示> <日期>三月初八</日期> <内容>六殿卞城王诞</内容> </五行农历显示> <五行农历显示> <日期>三月十二</日期> <内容>中央正道诞</内容> </五行农历显示> <五行农历显示> <日期>三月十九</日期> <内容>观音斋;中岳大帝诞;后土娘娘诞</内容> </五行农历显示> <五行农历显示> <日期>三月二十</日期> <内容>子孙娘娘诞</内容> </五行农历显示> <五行农历显示> <日期>三月廿七</日期> <内容>七殿泰山王诞</内容> </五行农历显示> <五行农历显示> <日期>四月十四</日期> <内容>净宗十一祖省庵法师圆寂日;纯阳祖师诞;四天王巡行;又十斋日</内容> </五行农历显示> <五行农历显示> <日期>正月十八</日期> <内容>地藏斋;十斋日</内容> </五行农历显示> <五行农历显示> <日期>七月十五</日期> <内容>盂兰盆节</内容> </五行农历显示> <五行农历显示> <日期>正月廿四</日期> <内容>地藏斋;十斋日</内容> </五行农历显示> <五行农历显示> <日期>七月廿九|七月三十</日期> <内容>地藏王菩萨圣诞</内容> </五行农历显示> <五行农历显示> <日期>二月廿一</日期> <内容>普贤菩萨圣诞</内容> </五行农历显示> <五行农历显示> <日期>3月15日</日期> <内容>消费者权益日</内容> </五行农历显示> <五行农历显示> <日期>2月2日</日期> <内容>世界湿地日</内容> </五行农历显示> <五行农历显示> <日期>2月10日</日期> <内容>国际气象节</内容> </五行农历显示> <五行农历显示> <日期>3月1日</日期> <内容>国际海豹日</内容> </五行农历显示> <五行农历显示> <日期>3月3日</日期> <内容>全国爱耳日</内容> </五行农历显示> <五行农历显示> <日期>3月5日</日期> <内容>学雷锋纪念日</内容> </五行农历显示> <五行农历显示> <日期>3月12日</日期> <内容>植树节;孙中山逝世纪念日</内容> </五行农历显示> <五行农历显示> <日期>3月14日</日期> <内容>国际警察日</内容> </五行农历显示> <五行农历显示> <日期>3月17日</日期> <内容>中国国医节;国际航海日</内容> </五行农历显示> <五行农历显示> <日期>3月21日</日期> <内容>世界森林日;消除种族歧视国际日;世界儿歌日</内容> </五行农历显示> <五行农历显示> <日期>3月22日</日期> <内容>世界水日</内容> </五行农历显示> <五行农历显示> <日期>3月23日</日期> <内容>世界气象日</内容> </五行农历显示> <五行农历显示> <日期>3月24日</日期> <内容>世界防治结核病日</内容> </五行农历显示> <五行农历显示> <日期>3月25日</日期> <内容>全国中小学生安全教育日</内容> </五行农历显示> <五行农历显示> <日期>3月30日</日期> <内容>巴勒斯坦国土日</内容> </五行农历显示> <五行农历显示> <日期>4月1日</日期> <内容>愚人节;全国爱国卫生运动月(四月);税收宣传月(四月)</内容> </五行农历显示> <五行农历显示> <日期>4月7日</日期> <内容>世界卫生日</内容> </五行农历显示> <五行农历显示> <日期>4月22日</日期> <内容>世界地球日</内容> </五行农历显示> <五行农历显示> <日期>4月23日</日期> <内容>世界图书和版权日</内容> </五行农历显示> <五行农历显示> <日期>4月24日</日期> <内容>亚非新闻工作者日</内容> </五行农历显示> <五行农历显示> <日期>5月5日</日期> <内容>碘缺乏病防治日</内容> </五行农历显示> <五行农历显示> <日期>5月8日</日期> <内容>世界红十字日</内容> </五行农历显示> <五行农历显示> <日期>5月12日</日期> <内容>国际护士节</内容> </五行农历显示> <五行农历显示> <日期>5月15日</日期> <内容>国际家庭日</内容> </五行农历显示> <五行农历显示> <日期>5月17日</日期> <内容>国际电信日</内容> </五行农历显示> <五行农历显示> <日期>5月18日</日期> <内容>国际博物馆日</内容> </五行农历显示> <五行农历显示> <日期>5月20日</日期> <内容>全国学生营养日</内容> </五行农历显示> <五行农历显示> <日期>5月23日</日期> <内容>国际牛奶日</内容> </五行农历显示> <五行农历显示> <日期>5月31日</日期> <内容>世界无烟日</内容> </五行农历显示> <五行农历显示> <日期>6月5日</日期> <内容>世界环境保护日</内容> </五行农历显示> <五行农历显示> <日期>6月6日</日期> <内容>全国爱眼日</内容> </五行农历显示> <五行农历显示> <日期>6月17日</日期> <内容>防治荒漠化和干旱日</内容> </五行农历显示> <五行农历显示> <日期>6月23日</日期> <内容>国际奥林匹克日</内容> </五行农历显示> <五行农历显示> <日期>6月25日</日期> <内容>全国土地日</内容> </五行农历显示> <五行农历显示> <日期>6月26日</日期> <内容>国际禁毒日</内容> </五行农历显示> <五行农历显示> <日期>7月1日</日期> <内容>香港回归纪念日 中共诞辰 世界建筑日</内容> </五行农历显示> <五行农历显示> <日期>7月2日</日期> <内容>国际体育记者日</内容> </五行农历显示> <五行农历显示> <日期>7月7日</日期> <内容>抗日战争纪念日</内容> </五行农历显示> <五行农历显示> <日期>7月11日</日期> <内容>世界人口日</内容> </五行农历显示> <五行农历显示> <日期>7月30日</日期> <内容>非洲妇女日</内容> </五行农历显示> <五行农历显示> <日期>8月1日</日期> <内容>中华人民共和国建军节</内容> </五行农历显示> <五行农历显示> <日期>8月8日</日期> <内容>中国男子节(爸爸节)</内容> </五行农历显示> <五行农历显示> <日期>8月15日</日期> <内容>抗日战争胜利纪念</内容> </五行农历显示> <五行农历显示> <日期>9月8日</日期> <内容>国际扫盲日 国际新闻工作者日</内容> </五行农历显示> <五行农历显示> <日期>9月9日</日期> <内容>毛泽东逝世纪念</内容> </五行农历显示> <五行农历显示> <日期>9月10日</日期> <内容>中国教师节</内容> </五行农历显示> <五行农历显示> <日期>9月14日</日期> <内容>世界清洁地球日</内容> </五行农历显示> <五行农历显示> <日期>9月16日</日期> <内容>国际臭氧层保护日</内容> </五行农历显示> <五行农历显示> <日期>9月18日</日期> <内容>九·一八事变纪念日</内容> </五行农历显示> <五行农历显示> <日期>9月20日</日期> <内容>国际爱牙日</内容> </五行农历显示> <五行农历显示> <日期>9月27日</日期> <内容>世界旅游日</内容> </五行农历显示> <五行农历显示> <日期>9月28日</日期> <内容>教师节;孔子诞辰</内容> </五行农历显示> <五行农历显示> <日期>10月1日</日期> <内容>◇国庆节 世界音乐日 国际老人节</内容> </五行农历显示> <五行农历显示> <日期>10月2日</日期> <内容>国际和平与民主自由斗争日</内容> </五行农历显示> <五行农历显示> <日期>10月4日</日期> <内容>世界动物日</内容> </五行农历显示> <五行农历显示> <日期>10月6日</日期> <内容>老人节</内容> </五行农历显示> <五行农历显示> <日期>10月8日</日期> <内容>全国高血压日 世界视觉日</内容> </五行农历显示> <五行农历显示> <日期>10月9日</日期> <内容>世界邮政日 万国邮联日</内容> </五行农历显示> <五行农历显示> <日期>10月10日</日期> <内容>辛亥革命纪念日 世界精神卫生日</内容> </五行农历显示> <五行农历显示> <日期>10月13日</日期> <内容>世界保健日 国际教师节</内容> </五行农历显示> <五行农历显示> <日期>10月14日</日期> <内容>世界标准日</内容> </五行农历显示> <五行农历显示> <日期>10月15日</日期> <内容>国际盲人节(白手杖节)</内容> </五行农历显示> <五行农历显示> <日期>10月16日</日期> <内容>世界粮食日</内容> </五行农历显示> <五行农历显示> <日期>10月17日</日期> <内容>世界消除贫困日</内容> </五行农历显示> <五行农历显示> <日期>10月22日</日期> <内容>世界传统医药日</内容> </五行农历显示> <五行农历显示> <日期>10月24日</日期> <内容>联合国日</内容> </五行农历显示> <五行农历显示> <日期>10月31日</日期> <内容>世界勤俭日</内容> </五行农历显示> <五行农历显示> <日期>11月7日</日期> <内容>十月社会主义革命纪念日</内容> </五行农历显示> <五行农历显示> <日期>11月8日</日期> <内容>中国记者日</内容> </五行农历显示> <五行农历显示> <日期>11月9日</日期> <内容>全国消防安全宣传教育日</内容> </五行农历显示> <五行农历显示> <日期>11月10日</日期> <内容>世界青年节</内容> </五行农历显示> <五行农历显示> <日期>11月11日</日期> <内容>国际科学与和平周(本日所属的一周)</内容> </五行农历显示> <五行农历显示> <日期>11月12日</日期> <内容>孙中山诞辰纪念日</内容> </五行农历显示> <五行农历显示> <日期>11月14日</日期> <内容>世界糖尿病日</内容> </五行农历显示> <五行农历显示> <日期>11月17日</日期> <内容>国际大学生节 世界学生节</内容> </五行农历显示> <五行农历显示> <日期>11月20日</日期> <内容>彝族年</内容> </五行农历显示> <五行农历显示> <日期>11月21日</日期> <内容>彝族年 世界问候日 世界电视日</内容> </五行农历显示> <五行农历显示> <日期>11月22日</日期> <内容>彝族年</内容> </五行农历显示> <五行农历显示> <日期>11月29日</日期> <内容>国际声援巴勒斯坦人民国际日</内容> </五行农历显示> <五行农历显示> <日期>12月1日</日期> <内容>世界艾滋病日</内容> </五行农历显示> <五行农历显示> <日期>12月3日</日期> <内容>世界残疾人日</内容> </五行农历显示> <五行农历显示> <日期>12月5日</日期> <内容>国际经济和社会发展志愿人员日</内容> </五行农历显示> <五行农历显示> <日期>12月8日</日期> <内容>国际儿童电视日</内容> </五行农历显示> <五行农历显示> <日期>12月9日</日期> <内容>世界足球日</内容> </五行农历显示> <五行农历显示> <日期>12月10日</日期> <内容>世界人权日</内容> </五行农历显示> <五行农历显示> <日期>12月12日</日期> <内容>西安事变纪念日</内容> </五行农历显示> <五行农历显示> <日期>12月13日</日期> <内容>南京大屠杀(1937年)纪念日!谨记血泪史!</内容> </五行农历显示> <五行农历显示> <日期>12月20日</日期> <内容>澳门回归纪念</内容> </五行农历显示> <五行农历显示> <日期>12月21日</日期> <内容>国际篮球日</内容> </五行农历显示> <五行农历显示> <日期>12月24日</日期> <内容>平安夜</内容> </五行农历显示> <五行农历显示> <日期>12月25日</日期> <内容>圣诞节</内容> </五行农历显示> <五行农历显示> <日期>12月26日</日期> <内容>毛泽东诞辰纪念</内容> </五行农历显示> <五行农历显示> <日期>正月初一</日期> <内容>◇春节</内容> </五行农历显示> <五行农历显示> <日期>正月十五</日期> <内容>元宵节;十斋日</内容> </五行农历显示> <五行农历显示> <日期>五月初五</日期> <内容>◇端午节</内容> </五行农历显示> <五行农历显示> <日期>七月初七</日期> <内容>七夕情人节</内容> </五行农历显示> <五行农历显示> <日期>七月十五</日期> <内容>道教中元节</内容> </五行农历显示> <五行农历显示> <日期>八月十五</日期> <内容>◇中秋节</内容> </五行农历显示> <五行农历显示> <日期>九月初九</日期> <内容>重阳节</内容> </五行农历显示> <五行农历显示> <日期>腊月初八</日期> <内容>腊八节</内容> </五行农历显示> <五行农历显示> <日期>腊月廿三</日期> <内容>小年</内容> </五行农历显示> <五行农历显示> <日期>腊月三十</日期> <内容>除夕</内容> </五行农历显示> <五行农历显示> <日期>1.5.0</日期> <内容>世界麻风日</内容> </五行农历显示> <五行农历显示> <日期>5.3.0</日期> <内容>全国助残日</内容> </五行农历显示> <五行农历显示> <日期>1.1.0</日期> <内容>黑人日</内容> </五行农历显示> <五行农历显示> <日期>9.4.0</日期> <内容>国际聋人节 世界儿童日</内容> </五行农历显示> <五行农历显示> <日期>9.5.0</日期> <内容>世界海事日</内容> </五行农历显示> <五行农历显示> <日期>二月廿四</日期> <内容>◇清明节</内容> </五行农历显示> <五行农历显示> <日期>5.2.0</日期> <内容>母亲节</内容> </五行农历显示> <五行农历显示> <日期>6.3.0</日期> <内容>父亲节</内容> </五行农历显示> <五行农历显示> <日期>9.3.2</日期> <内容>国际和平日</内容> </五行农历显示> <五行农历显示> <日期>7.3.0</日期> <内容>被奴役国家周</内容> </五行农历显示> <五行农历显示> <日期>10.1.1</日期> <内容>国际住房日</内容> </五行农历显示> <五行农历显示> <日期>正月初一</日期> <内容>弥勒菩萨圣诞;地藏斋;十斋日</内容> </五行农历显示> <五行农历显示> <日期>正月初六</日期> <内容>定光佛圣诞</内容> </五行农历显示> <五行农历显示> <日期>正月初九</日期> <内容>帝释天尊圣诞</内容> </五行农历显示> <五行农历显示> <日期>二月初八</日期> <内容>释迦牟尼佛出家</内容> </五行农历显示> <五行农历显示> <日期>二月十五</日期> <内容>释迦牟尼佛涅槃;太上老君诞</内容> </五行农历显示> <五行农历显示> <日期>二月十九</日期> <内容>观世音菩萨圣诞;观音斋</内容> </五行农历显示> <五行农历显示> <日期>三月十六</日期> <内容>准提菩萨圣诞</内容> </五行农历显示> <五行农历显示> <日期>四月初四</日期> <内容>文殊菩萨圣诞</内容> </五行农历显示> <五行农历显示> <日期>四月初八</日期> <内容>释迦牟尼佛圣诞;九殿平等王诞;又观音斋;又十斋日</内容> </五行农历显示> <五行农历显示> <日期>四月廿八</日期> <内容>药王菩萨圣诞</内容> </五行农历显示> <五行农历显示> <日期>五月十三</日期> <内容>伽蓝菩萨圣诞</内容> </五行农历显示> <五行农历显示> <日期>六月初三</日期> <内容>韦驮菩萨圣诞</内容> </五行农历显示> <五行农历显示> <日期>六月十九</日期> <内容>观世音菩萨成道</内容> </五行农历显示> <五行农历显示> <日期>七月十三</日期> <内容>大势至菩萨圣诞</内容> </五行农历显示> <五行农历显示> <日期>七月十五</日期> <内容>佛欢喜日</内容> </五行农历显示> <五行农历显示> <日期>七月廿一</日期> <内容>普庵祖师圣诞</内容> </五行农历显示> <五行农历显示> <日期>七月廿四</日期> <内容>龙树菩萨圣诞</内容> </五行农历显示> <五行农历显示> <日期>八月廿二</日期> <内容>燃灯古佛圣诞</内容> </五行农历显示> <五行农历显示> <日期>九月十九</日期> <内容>观世音菩萨出家</内容> </五行农历显示> <五行农历显示> <日期>九月三十</日期> <内容>药师佛圣诞</内容> </五行农历显示> <五行农历显示> <日期>十月初五</日期> <内容>达摩祖师圣诞</内容> </五行农历显示> <五行农历显示> <日期>寒月十七</日期> <内容>阿弥陀佛圣诞</内容> </五行农历显示> <五行农历显示> <日期>腊月初八</日期> <内容>释迦牟尼佛成道</内容> </五行农历显示> <五行农历显示> <日期>腊月廿九</日期> <内容>华严菩萨圣诞</内容> </五行农历显示> <五行农历显示> <日期>初八</日期> <内容>六斋|十斋</内容> </五行农历显示> <五行农历显示> <日期>十四</日期> <内容>六斋|十斋</内容> </五行农历显示> <五行农历显示> <日期>十五</日期> <内容>六斋|十斋</内容> </五行农历显示> <五行农历显示> <日期>廿三</日期> <内容>六斋|十斋</内容> </五行农历显示> <五行农历显示> <日期>廿八</日期> <内容>十斋</内容> </五行农历显示> <五行农历显示> <日期>廿九</日期> <内容>六斋|十斋</内容> </五行农历显示> <五行农历显示> <日期>三十</日期> <内容>六斋|十斋</内容> </五行农历显示> <五行农历显示> <日期>正月初八</日期> <内容>观音斋;五殿阎罗天子诞;十斋日</内容> </五行农历显示> <五行农历显示> <日期>二月初七</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>二月初九</日期> <内容>六祖慧能圣诞 观音斋</内容> </五行农历显示> <五行农历显示> <日期>三月初三</日期> <内容>观音斋;玄天上帝诞</内容> </五行农历显示> <五行农历显示> <日期>三月初六</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>三月十三</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>四月廿二</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>五月初三</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>五月十七</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>六月十六</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>六月十八</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>六月十九</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>六月廿三</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>七月十三</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>八月十六</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>九月十九</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>九月廿三</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>十月初二</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>寒月十九</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>寒月廿四</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>廿七</日期> <内容>十斋</内容> </五行农历显示> <五行农历显示> <日期>二月廿五</日期> <内容>观音斋</内容> </五行农历显示> <五行农历显示> <日期>10.1.3</日期> <内容>国际减轻自然灾害日(减灾日)</内容> </五行农历显示> <五行农历显示> <日期>5月1日</日期> <内容>◇国际劳动节</内容> </五行农历显示> <五行农历显示> <日期>5月4日</日期> <内容>青年节</内容> </五行农历显示> <五行农历显示> <日期>6月1日</日期> <内容>国际儿童节</内容> </五行农历显示> <五行农历显示> <日期>1月1日</日期> <内容>◇元旦</内容> </五行农历显示> <五行农历显示> <日期>2月14日</日期> <内容>情人节</内容> </五行农历显示> <五行农历显示> <日期>3月8日</日期> <内容>国际妇女节</内容> </五行农历显示> </NewDataSet>
之下是保存和读取XML文档的方法:
void 保存记事历XML(string 文档名,DataTable 数据集) { 数据集.WriteXml(文档名);/*保存 数据集.Dispose();*/ 返回记事历(); 升起提示框.Close(); } void 读取记事历XML(string 文档名,DataSet 数据集) { 数据集.Clear(); 数据集.ReadXml(文档名 = (文档名.Contains(".xml")) ? 文档名 : 文档名 + ".xml");/*读取*/ }
相关调用和检测:
private string 获取文件路径() { string 表格文件 = @System.Environment.CurrentDirectory + "\\五行农历显示设置.xml"; if (!File.Exists(表格文件)) MessageBox.Show("五行农历显示设置.xml不存在?!"); return 表格文件; } private void 加载自定义文件() { 读取记事历XML(获取文件路径(),读取条件设定); }
之下将所遇到问题如何解决例举:
问题1:DataTable 不支持来自 Xml 的架构推断。
以上面XML文档为例:
DataTable aa = new DataTable(); aa.ReadXml(文档名);
当用DataTable读取时,将产生错误提示,原因:上面保存虽说是用DataTable,然而这个DataTable是包含在DataSet中的,因此只能使用DataSet读取;
值得注意的是:
数据集.WriteXml(文档名); 数据集.WriteXml(文档名,XmlWriteMode.IgnoreSchema);
是一样的;
那么,在什么情况下用DataTable读取时,不会产生错误提示?之下以以前公布的"九九乘法表"为例:
DataTable 测试九九表树() { DataTable 测试九九表 = new DataTable("测试树表"); 测试九九表.Columns.Add("九九表"); for (int 表头序 = 1; 表头序 <= 9; 表头序++) { 测试九九表.Columns.Add(表头序.ToString()); } for (int i = 1; i <= 9; i++) { DataRow 测试树表列 = 测试九九表.NewRow(); 测试树表列[0] = "九九表"; for (int j = 1; j <= 9; j++) { 测试树表列[j] = i.ToString() + "×" + j.ToString() + "=" + (i * j).ToString(); } 测试九九表.Rows.Add(测试树表列); } 测试九九表.AcceptChanges(); return 测试九九表; }
之下采用不同保存方法进行测试:
测试九九表树().WriteXml("测试树表.xml"); DataSet a2 = new DataSet(); a2.ReadXml("测试树表.xml"); DataTable aa = new DataTable(); aa.ReadXml("测试树表.xml");
<?xml version="1.0" standalone="yes"?> <DocumentElement> <测试树表> <九九表>九九表</九九表> <_x0031_>1×1=1</_x0031_> <_x0032_>1×2=2</_x0032_> <_x0033_>1×3=3</_x0033_> <_x0034_>1×4=4</_x0034_> <_x0035_>1×5=5</_x0035_> <_x0036_>1×6=6</_x0036_> <_x0037_>1×7=7</_x0037_> <_x0038_>1×8=8</_x0038_> <_x0039_>1×9=9</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>2×1=2</_x0031_> <_x0032_>2×2=4</_x0032_> <_x0033_>2×3=6</_x0033_> <_x0034_>2×4=8</_x0034_> <_x0035_>2×5=10</_x0035_> <_x0036_>2×6=12</_x0036_> <_x0037_>2×7=14</_x0037_> <_x0038_>2×8=16</_x0038_> <_x0039_>2×9=18</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>3×1=3</_x0031_> <_x0032_>3×2=6</_x0032_> <_x0033_>3×3=9</_x0033_> <_x0034_>3×4=12</_x0034_> <_x0035_>3×5=15</_x0035_> <_x0036_>3×6=18</_x0036_> <_x0037_>3×7=21</_x0037_> <_x0038_>3×8=24</_x0038_> <_x0039_>3×9=27</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>4×1=4</_x0031_> <_x0032_>4×2=8</_x0032_> <_x0033_>4×3=12</_x0033_> <_x0034_>4×4=16</_x0034_> <_x0035_>4×5=20</_x0035_> <_x0036_>4×6=24</_x0036_> <_x0037_>4×7=28</_x0037_> <_x0038_>4×8=32</_x0038_> <_x0039_>4×9=36</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>5×1=5</_x0031_> <_x0032_>5×2=10</_x0032_> <_x0033_>5×3=15</_x0033_> <_x0034_>5×4=20</_x0034_> <_x0035_>5×5=25</_x0035_> <_x0036_>5×6=30</_x0036_> <_x0037_>5×7=35</_x0037_> <_x0038_>5×8=40</_x0038_> <_x0039_>5×9=45</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>6×1=6</_x0031_> <_x0032_>6×2=12</_x0032_> <_x0033_>6×3=18</_x0033_> <_x0034_>6×4=24</_x0034_> <_x0035_>6×5=30</_x0035_> <_x0036_>6×6=36</_x0036_> <_x0037_>6×7=42</_x0037_> <_x0038_>6×8=48</_x0038_> <_x0039_>6×9=54</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>7×1=7</_x0031_> <_x0032_>7×2=14</_x0032_> <_x0033_>7×3=21</_x0033_> <_x0034_>7×4=28</_x0034_> <_x0035_>7×5=35</_x0035_> <_x0036_>7×6=42</_x0036_> <_x0037_>7×7=49</_x0037_> <_x0038_>7×8=56</_x0038_> <_x0039_>7×9=63</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>8×1=8</_x0031_> <_x0032_>8×2=16</_x0032_> <_x0033_>8×3=24</_x0033_> <_x0034_>8×4=32</_x0034_> <_x0035_>8×5=40</_x0035_> <_x0036_>8×6=48</_x0036_> <_x0037_>8×7=56</_x0037_> <_x0038_>8×8=64</_x0038_> <_x0039_>8×9=72</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>9×1=9</_x0031_> <_x0032_>9×2=18</_x0032_> <_x0033_>9×3=27</_x0033_> <_x0034_>9×4=36</_x0034_> <_x0035_>9×5=45</_x0035_> <_x0036_>9×6=54</_x0036_> <_x0037_>9×7=63</_x0037_> <_x0038_>9×8=72</_x0038_> <_x0039_>9×9=81</_x0039_> </测试树表> </DocumentElement>
运行依然在aa.ReadXml("测试树表.xml");这句提示问题1,说明这种保存方式的读取依然只能用DataSet。
以下看看采用另一种保存有表结构的方式会怎样:
测试九九表树().WriteXml("测试树表.xml",XmlWriteMode.WriteSchema); DataSet a2 = new DataSet(); a2.ReadXml("测试树表.xml"); DataTable aa = new DataTable(); aa.ReadXml("测试树表.xml");
<?xml version="1.0" standalone="yes"?> <NewDataSet> <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="测试树表" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="测试树表"> <xs:complexType> <xs:sequence> <xs:element name="九九表" type="xs:string" minOccurs="0" /> <xs:element name="_x0031_" type="xs:string" minOccurs="0" /> <xs:element name="_x0032_" type="xs:string" minOccurs="0" /> <xs:element name="_x0033_" type="xs:string" minOccurs="0" /> <xs:element name="_x0034_" type="xs:string" minOccurs="0" /> <xs:element name="_x0035_" type="xs:string" minOccurs="0" /> <xs:element name="_x0036_" type="xs:string" minOccurs="0" /> <xs:element name="_x0037_" type="xs:string" minOccurs="0" /> <xs:element name="_x0038_" type="xs:string" minOccurs="0" /> <xs:element name="_x0039_" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <测试树表> <九九表>九九表</九九表> <_x0031_>1×1=1</_x0031_> <_x0032_>1×2=2</_x0032_> <_x0033_>1×3=3</_x0033_> <_x0034_>1×4=4</_x0034_> <_x0035_>1×5=5</_x0035_> <_x0036_>1×6=6</_x0036_> <_x0037_>1×7=7</_x0037_> <_x0038_>1×8=8</_x0038_> <_x0039_>1×9=9</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>2×1=2</_x0031_> <_x0032_>2×2=4</_x0032_> <_x0033_>2×3=6</_x0033_> <_x0034_>2×4=8</_x0034_> <_x0035_>2×5=10</_x0035_> <_x0036_>2×6=12</_x0036_> <_x0037_>2×7=14</_x0037_> <_x0038_>2×8=16</_x0038_> <_x0039_>2×9=18</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>3×1=3</_x0031_> <_x0032_>3×2=6</_x0032_> <_x0033_>3×3=9</_x0033_> <_x0034_>3×4=12</_x0034_> <_x0035_>3×5=15</_x0035_> <_x0036_>3×6=18</_x0036_> <_x0037_>3×7=21</_x0037_> <_x0038_>3×8=24</_x0038_> <_x0039_>3×9=27</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>4×1=4</_x0031_> <_x0032_>4×2=8</_x0032_> <_x0033_>4×3=12</_x0033_> <_x0034_>4×4=16</_x0034_> <_x0035_>4×5=20</_x0035_> <_x0036_>4×6=24</_x0036_> <_x0037_>4×7=28</_x0037_> <_x0038_>4×8=32</_x0038_> <_x0039_>4×9=36</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>5×1=5</_x0031_> <_x0032_>5×2=10</_x0032_> <_x0033_>5×3=15</_x0033_> <_x0034_>5×4=20</_x0034_> <_x0035_>5×5=25</_x0035_> <_x0036_>5×6=30</_x0036_> <_x0037_>5×7=35</_x0037_> <_x0038_>5×8=40</_x0038_> <_x0039_>5×9=45</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>6×1=6</_x0031_> <_x0032_>6×2=12</_x0032_> <_x0033_>6×3=18</_x0033_> <_x0034_>6×4=24</_x0034_> <_x0035_>6×5=30</_x0035_> <_x0036_>6×6=36</_x0036_> <_x0037_>6×7=42</_x0037_> <_x0038_>6×8=48</_x0038_> <_x0039_>6×9=54</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>7×1=7</_x0031_> <_x0032_>7×2=14</_x0032_> <_x0033_>7×3=21</_x0033_> <_x0034_>7×4=28</_x0034_> <_x0035_>7×5=35</_x0035_> <_x0036_>7×6=42</_x0036_> <_x0037_>7×7=49</_x0037_> <_x0038_>7×8=56</_x0038_> <_x0039_>7×9=63</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>8×1=8</_x0031_> <_x0032_>8×2=16</_x0032_> <_x0033_>8×3=24</_x0033_> <_x0034_>8×4=32</_x0034_> <_x0035_>8×5=40</_x0035_> <_x0036_>8×6=48</_x0036_> <_x0037_>8×7=56</_x0037_> <_x0038_>8×8=64</_x0038_> <_x0039_>8×9=72</_x0039_> </测试树表> <测试树表> <九九表>九九表</九九表> <_x0031_>9×1=9</_x0031_> <_x0032_>9×2=18</_x0032_> <_x0033_>9×3=27</_x0033_> <_x0034_>9×4=36</_x0034_> <_x0035_>9×5=45</_x0035_> <_x0036_>9×6=54</_x0036_> <_x0037_>9×7=63</_x0037_> <_x0038_>9×8=72</_x0038_> <_x0039_>9×9=81</_x0039_> </测试树表> </NewDataSet>
运行没什么提示,说明无论用DataSet还是DataTable读取都可以。
问题2:无法序列化 DataTable。未设置 DataTable 名称。
如果把DataTable 测试九九表树()方法中的DataTable 测试九九表 = new DataTable("");表名称写为空或不设置将产生错误提示;
用DataSet保存和用DataTable保存的区别:
<?xml version="1.0" standalone="yes"?> <NewDataSet> <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="五行农历显示"> <xs:complexType> <xs:sequence> <xs:element name="日期" type="xs:string" minOccurs="0" /> <xs:element name="内容" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <五行农历显示> <日期>五月初五</日期> <内容>◇端午节</内容> </五行农历显示> <五行农历显示> <日期>八月十五</日期> <内容>◇中秋节</内容> </五行农历显示> <五行农历显示> <日期>10月1日</日期> <内容>◇国庆节</内容> </五行农历显示> <五行农历显示> <日期>月周几:6.3.0</日期> <内容>父亲节</内容> </五行农历显示> <五行农历显示> <日期>月周几:5.2.0</日期> <内容>母亲节</内容> </五行农历显示> <五行农历显示> <日期>9.3.2</日期> <内容>国际和平日</内容> </五行农历显示> </NewDataSet>
上面用DataSet保存,下面用DataTable保存,请注意观察文件头部是有区别的;
<?xml version="1.0" standalone="yes"?> <NewDataSet> <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="五行农历显示" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="五行农历显示"> <xs:complexType> <xs:sequence> <xs:element name="日期" type="xs:string" minOccurs="0" /> <xs:element name="内容" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <五行农历显示> <日期>五月初五</日期> <内容>◇端午节</内容> </五行农历显示> <五行农历显示> <日期>八月十五</日期> <内容>◇中秋节</内容> </五行农历显示> <五行农历显示> <日期>10月1日</日期> <内容>◇国庆节</内容> </五行农历显示> <五行农历显示> <日期>月周几:6.3.0</日期> <内容>父亲节</内容> </五行农历显示> <五行农历显示> <日期>月周几:5.2.0</日期> <内容>母亲节</内容> </五行农历显示> <五行农历显示> <日期>9.3.2</日期> <内容>国际和平日</内容> </五行农历显示> </NewDataSet>
测试语句如下:
//读取条件设定.WriteXml("五行农历显示3.xml",XmlWriteMode.WriteSchema); 读取条件设定.Tables["五行农历显示"].WriteXml("五行农历显示3.xml",XmlWriteMode.WriteSchema); 读取条件设定.Dispose(); DataSet newDataSet = new DataSet("New DataSet"); newDataSet.ReadXml("五行农历显示3.xml"); DataTable newDataTable = new DataTable(); newDataTable.ReadXml("五行农历显示3.xml");
以上都通过了,值得一说的是:如果用DataSet保存的话,将保存DataSet中所有的DataTable,而有时可能 并不需要这样,所以,可选择DataTable保存。
综上所述,不难看出,保存有表结构的方式无论用DataTable或DataSet读取皆可,而不带表结构的则不可用DataTable读取。
StringBuilder output = new StringBuilder(); XElement root = new XElement("Root",new XElement("int",new int[] { 11,22 }),new int[] { 33,44 }),new int[] { 55,66 }),new int[] { 77,88 }),new int[] { 99,22 }) ); root.Save("Root.xml"); string str = File.ReadAllText("Root.xml"); output.Append(str + Environment.NewLine);
复制五行农历显示数据保存为XML文件:
1。打开IE空白页
2。右击“查看源码”
3。把源码保存为xml文件格式
4。右击已经保存的XML文件选“用记事本打开”
5。把之上的<五行农历显示>整个复制并粘贴到打开的文件保存