XML该怎么学?

hawk234 2004-09-26 11:46:48
大家好,我想学XML不知道该怎么学,看了基本书,一点头绪都没有,有没有好书介绍。
或者其他好的办法。我想学的是ASP.net+C#+XML
...全文
429 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
happyjun2000 2004-09-29
  • 打赏
  • 举报
回复
贴一段xml小代码供参考
using System;
using System.Data;
using System.Xml;
using System.IO;

namespace paladin
{
/// <summary>
/// ToXml 的摘要说明。
/// Author:paladin。
/// Last Update Date: 2004-6-14 16:00
/// YuanDa Corporation, 2003-2010 All Rights Reserved
///
/// 一、使用MSXML(microsoft的xml分析器)。MSXML是一个基于com的组件。
/// DOMDocument40 doc=new DOMDocument40();
/// doc.load("books.xml");
/// 二、使用net framework自带的xml类。xmlreader、xmlwriter。
/// xmlTextReader、xmlTextWriter、xmlNodeReader、XmlValidatingReader。
/// 三、使用DOM(文档对象模型)
/// xmlDocument doc=new xnlDocument();
/// xmlDocument与xmlreader、xmlwriter不同,它具有读写功能、可以随机访问DOM树。类似MSXML的DOM执行方式。
/// 四、使用Xpath和Xslt。
/// Xpath是XML的查询语言。XSlt是把基本文档转换为结构或类型不同的另一个文档。
/// 五、XML和ADO.NET
/// XML和ADO.NET的互相转化。
/// 访问xml文件可以用XmlTextWriter、XmlTextReader 来访问。也可以利用DOM文档模板来访问。
/// 读取xml数据可以利用XmlTextReader 、DOM或者是ADO.net
/// </summary>
public class ToXml
{
public ToXml()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

/// <summary>
/// 创建一个xml文件,包括根元素。
/// </summary>
/// <param name="file"></param>
/// <param name="rootElement"></param>
public void CreateXml(string file,string rootElement)
{
XmlDocument doc=new XmlDocument();
//创建一个新的XmlDeclaration,版本1.0,编码(默认utf8)和standalone标志
XmlDeclaration newDec=doc.CreateXmlDeclaration("1.0",null,null);
doc.AppendChild(newDec);
//创建一个根元素
XmlElement newRoot=doc.CreateElement(rootElement);
doc.AppendChild(newRoot);
//xml文件写入到磁盘
doc.Save(file);
}
/// <summary>
/// 创建一个xml文件,xml文件的内容在xmlStr中已经构造好了。
/// </summary>
/// <param name="xmlStr"></param>
public void CreateXml(string xmlStr)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlStr);
doc.Save(System.Web.HttpContext.Current.Server.MapPath("/newengnieer/includes/categoryTree.xml") ) ;
}

/// <summary>
/// 添加一个xml元素,包括该元素的子元素和属性。
/// </summary>
/// <param name="file"></param>
public void InsertXml(string file)
{
XmlDocument doc=new XmlDocument();
doc.Load(file);
//创建一个新元素
XmlElement newBook=doc.CreateElement("book");
//创建该元素的属性
newBook.SetAttribute("aa","ss");
newBook.SetAttribute("ss","dd");
//创建该元素的子元素
XmlElement newtitle=doc.CreateElement("title");
newtitle.InnerText="sdfdf";
newBook.AppendChild(newtitle);
//创建该元素的子元素
XmlElement newauthor=doc.CreateElement("author");
newBook.AppendChild(newauthor);
//
doc.DocumentElement.AppendChild(newBook);
//xml文件写入到磁盘
XmlTextWriter tr=new XmlTextWriter(file,null);
tr.Formatting=Formatting.Indented;
doc.WriteContentTo(tr);
tr.Close();
}

/// <summary>
/// 使用XmlTextWriter写入xml
/// </summary>
private void writeToXml(string fileName)
{
//xml的文件路径
// string fileName=MapPath("ucTabBarConfig.xml");
XmlTextWriter xmltw=new XmlTextWriter(fileName,System.Text.Encoding.Unicode);
xmltw.Formatting=Formatting.Indented;
//开始写入xml文档
xmltw.WriteStartDocument();
//开始写入文档元素
xmltw.WriteStartElement("tabBar1");
//开始写入元素‘tabBar1’下的文档元素‘tab1’
xmltw.WriteStartElement("tab1");
xmltw.WriteElementString("text","违法行为立案");
xmltw.WriteElementString("href","");
xmltw.WriteEndElement();
//元素写入完毕
xmltw.WriteStartElement("tab2");
xmltw.WriteElementString("text","行政处罚意见");
xmltw.WriteElementString("href","");
xmltw.WriteEndElement();
//
xmltw.WriteStartElement("tab3");
xmltw.WriteElementString("text","额外");
xmltw.WriteElementString("href","");
xmltw.WriteEndElement();
//
xmltw.WriteStartElement("tab4");
xmltw.WriteElementString("text","行政处罚收费");
xmltw.WriteElementString("href","");
xmltw.WriteEndElement();
//元素写入完毕
xmltw.WriteEndElement();
//文档写入完毕
xmltw.WriteEndDocument();
//
xmltw.Flush();
xmltw.Close();
}

/// <summary>
/// 利用xmlTextReader读取xml的数据
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
private string readFromXml(string fileName)
{
//xml的文件路径
// string fileName=MapPath("ucTabBarConfig.xml");
XmlTextReader xmltr=new XmlTextReader(fileName);
//
string returnValue="";
while(xmltr.Read())
{
if(xmltr.NodeType==XmlNodeType.Text)
{
returnValue=returnValue+xmltr.Value;
}
}
return returnValue;
}

/// <summary>
/// 利用Ado.net读取xml的数据
/// </summary>
/// <returns></returns>
private DataView readDataFromXml(string fileName)
{
DataSet ds=new DataSet();
ds.ReadXml(fileName);
return ds.Tables[0].DefaultView;
}

/// <summary>
/// 根据strSearch条件来查找
/// </summary>
/// <param name="file"></param>
/// <param name="strSearch"></param>
/// <returns></returns>
public string searchXml(string file,string strSearch)
{
string returnVal="";
XmlDocument doc=new XmlDocument();
doc.Load(file);
//查找 <root>
// <book name="文明">
// <title>dfdf</title>
// </book>
// </root>
//查找元素book的子元素的innerText“sdfdf”项
//string strSearch="root/book[title='sdfdf']";
//查找元素book的属性name为“文明”项
//string strSearch="root/book[@name='文明']";
XmlNode serchNode=doc.SelectSingleNode(strSearch);
if(serchNode!=null)
{
returnVal=serchNode.InnerText;
}
return returnVal;
}

/// <summary>
/// 根据TagName来查找
/// </summary>
/// <param name="file"></param>
/// <param name="TagName"></param>
public void searchXmlByTag(string file,string TagName)
{
XmlDocument doc=new XmlDocument();
doc.Load(file);
//查找<title></title>
XmlNodeList nodeList=doc.GetElementsByTagName("title");
foreach(XmlNode node in nodeList)
{
// ListBox1.Items.Add(node.InnerText);
}
}
}
}
happyjun2000 2004-09-29
  • 打赏
  • 举报
回复
比如说要怎样才能实现CSDN中当前页面的效果
用xslt来转化xml成为html页面。
BearRui 2004-09-28
  • 打赏
  • 举报
回复
买本XML的书,那写书也是从浅到深的,看一看就会明白是怎么会事了!!!
hawk234 2004-09-28
  • 打赏
  • 举报
回复
非常感谢,不过太多了,眼都看花了。
比如说要怎样才能实现CSDN中当前页面的效果?
105910556 2004-09-28
  • 打赏
  • 举报
回复
XML本身是由W3C为了规范网络代码而提出的一项草案,现1.0已经成为推荐标准。
所以XML诞生的目的是为了规范日益混乱的网络代码,同时也给新的语言需求打下了基础,比如数学、音乐方面的显示需求等等。但是由于其可扩展特性,使其在B2B的数据交换方面也有重要的应用意义。

不过由于各个浏览器厂商都是嘴上支持,背后不出力,所以目前为止,还没有一个能够真正把XML支持得比较好的产品。反倒是由于XML在数据交换方面的特性,是其成为了数据存储与数据交换应用上的优秀解决技术,并在该领域流行。

XML手册(第四版)
XML Handbook(Fourth Edition) [XML之父!!!!!!!!!!]

评级:
阅读数:868
作者:[美]Charles F.Goldfarb, Paul Prescod/著
译者:张晓晖 王艳斌 赵伟明 等/译
出版社:电子工业出版社

本书是XML之父Charles F.Goldfarb所著的权威XML系列图书之一“The XML Handbook”的最新版本。本书结合大量应用实例,全面介绍了XML。全书共分18个部分。从对概念和基础技术层面的铺垫入手,介绍了XML的发展历史、基本思想、最基本问题、XML对网络通信和计算机与计算机通信的影响,进而重点阐述了XML的不同应用领域,主要包括三层应用程序、电子商务、集成、内容管理、门户、发布、数据库、内容采集、模式与设计、语音、语义Web、Web服务和XML在应用程序基础构架中的作用。继而回归XML技术主题,介绍了有关XML的三个基本教程。分别是包括XML基础知识、文档类型定义的创建、实体、XML的高级特征以及XML规范等核心教程内容;名称空间、数据类型以及XML模式等教程内容;XPath,XSLT,XSL-FO,XPointer以及XLink等变换和导航教程内容。最后以资源部分作为本书的结束。
本书技术描述准确,写作风格朴实,内容宽泛深入,堪称学习和实践XML的绝佳起点。无论对于XML初学者,富有经验的应用开发人员,还是对于寻求企业解决方案的企业管理人员,均具有很高的参考价值。


.NET & XML Magazine 2002-2003中文精华合集(第1辑)

评级:
阅读数:4957
作者:国际技术期刊合集编委会
出版社:电子工业出版社
图书分类:
程序设计 > .NET 销售榜
WEB开发 > XML/SOAP 销售榜
版别版次:2004年4月第1次印刷
ISBN书号:7-5053-9718-4 出版日期:2004年4月
开本:787*1092 1/16
字数:910千字
页数: 414

定价:38.0元
内容简介:
《.NET & XML Magazine》面向蓬勃兴起的.NET和XML Web服务开发社群,是目前唯一专业面向Web服务开发的技术杂志,着眼软件发展方向,高屋建瓴地解析技术大局。本合集精选2002-2003年最优秀的技术文章,实用性强,把最新的Web Service开发技术呈现给读者,是.NET系统开发者和Web服务开发者的良师益友。



微软项目经理大力推荐!!!!!!!!!!1
XML精要快速参考手册—XML,XPath,XSLT,XML Schema,SOAP

作者:[美]Aaron Skonnard 等
译者:牛韬 等
出版社:人民邮电出版社

本书适合任何使用当今主流XML技术的人员阅读,特别设计成方便而全面的快速参考书,回答了有关XML常见的技术问题。全书共分为10章,分别介绍了XML1.0与命名空间、文档类型定义、XPath 1.0、XPointer、XInclude和XML Base、XML Transformations 1.0、SAX 2.0、DOM Level 2、XML Schema数据类型、XML Schema结构、SOAP 1.1等内容。
本书超出了传统的便携参考手册,除了完全涵盖每个主题之外,还提供了大量意义丰富的例子。每一章提供了一个简要概述,然后是详细参考信息。这种方法假设读者对给出的主题已经有了一个基本的了解。


XML本质论
Essential XML
作者:Don Box, [写了著名的 .NET本质论]
Aaron Skonnard, John Lam /著
译者:卓栋涛 /译
出版社:中国电力出版社



内容简介:
XML已经取代Java、设计模式和对象技术,成为软件行业期盼已久的问题解决方案。本书从编程角度深入分析了如何将XML用作类似COM、CORBA的组件集成技术并通过实例说明了如何将XML用作独立开发的软件组件间的粘合剂。另外,本书的作者之一Don Box(也是SOAP规范的作者之一)为读者深入分析了这种新兴的用于连接COM、CORBA、EJB与Web的XML消息转发技术。
本书适合XML编程人员和想深入学习XML的人阅读。

.NET XML高级编程
Professional XML for .NET Developers

评级:
阅读数:643
作者:Dinar Dalvi,Joe Gray等
译者:英宇 林琪 费广正
出版社:清华大学出版社

出版日期:2002年6月
开本:
页数: 700

定价:75.0元


XML是描述和传送数据的一项成熟技术,该技术在软件开发的各个领域已经产生了巨大的影响。当Microsoft推出.NET Framework时,就广泛地使用了XML。没有其他的技术会像XML一样与.NET结合得如此紧密,这不仅体现在开发人员的工作上,也体现在整个基础架构中。

本书的目的是尽可能地以最有效的方式为您提供足够的信息,让您学会如何在.NET Framework中使用XML。本书使用C#和Visual Basic .NET两种语言,解释了所有与XML相关的.NET Framework类库的用法细节,包括操作、验证、转换和串行化XML数据等。本书还介绍了开发人员如何在.NET Framework中使用XML的

强大功能(例如,如何使用ADO .NET和ASP .NET的XML新功能)。如书中所述,.NET Framework自身就在配置文件、元数据和C#的XML代码文档机制中使用了XML。

本书适合从事.NET开发的中高级程序员。阅读本书,您需要具备C#或Visual Basic .NET、XML以及XML相关技术(如XSLT、XPath和XML Schemas)的基础知识。


ASP.NET XML高级编程—C#编程篇


阅读数:1606
作者:Chris Knowles等著 刘爽译
出版社:清华大学出版社
定价:46.0元


XML自20世纪90年代后期推出以来,得到了广泛的应用。目前,XML 已经发展成熟,在计算世界中的应用比例正在稳步增加。Microsoft的.NET Framework主要使用XML,它是创建具有XML功能的Web应用程序的绝佳平台。本书首先介绍了如何访问各种XML数据源,提取数据后应如何进行转换并显示出来,之后论述了如何分析XML Web应用程序的性能,最后介绍了如何在电子商务案例中综合运用这些技术。
本书适用于那些已经掌握了ASP.NET和C#,并了解XML及其相关技术的Web开发人员。

Microsoft .NET XML程序设计
作者:(意)Dino Esposito著 宁建平等译
出版社:机械工业出版社

本书由国际知名的微软技术专家撰写,主要探讨由.NET框架所提供的XML工具集。全书共分四个部分,第一部分深入讨论在.NET平台中实现XML的各个核心类,同时介绍读取器和编写器、数据验证以及XML模式方面的一些例子和参考信息;第二部分讨论XML数据操作,包括XML DOM、XPath、XSLT等。第三部分介绍XML与数据访问,讲述XML与数据库之间的互操作;最后集中讨论应用程序与互操作性,并简要讨论SQL Server 2000及其XML扩展、.NET远程化、XML Web服务,并包括两个介绍XML配置文件、XML数据岛以及浏览器/部署托管控件的章节。
本书条理清晰,实例丰富,适合学习XML的开发人员阅读,尤其适合.NET框架下的XML开发人员参考。

XML从入门到精通(黄金版)
作者:[美]Chuck White等著 周生炳等译
出版社:电子工业出版社
图书分类:
WEB开发 > XML/SOAP 销售榜
版别版次:2002年1月第一版第一次印刷
ISBN书号:7-5053-7456-7 出版日期:2002年1月
开本:787*1092 1/16
字数:1500千字
页数: 892

定价:85.0元



基于XML的ASP.NET开发
作者:[美]Dan Wahlin著 王玉良译

出版社:清华大学出版社
定价:42.0元

kaiqiao521 2004-09-28
  • 打赏
  • 举报
回复
XML到底有什么作用啊
liushengni 2004-09-28
  • 打赏
  • 举报
回复
hawk234 2004-09-28
  • 打赏
  • 举报
回复
ini知道,XML的规范也懂。
就是觉得太抽象了,想看一下实际项目中运用XML的例子。
Lostinet 2004-09-28
  • 打赏
  • 举报
回复
如果你有一些数据文件格式的基础,会好理解很多的.

例如你知道 ini 文件吗?你知道ini文件储存数据的"规范"吗?

XML也是一种规范,而且这个规范能储存更多形式的数据.
hawk234 2004-09-27
  • 打赏
  • 举报
回复
大家还有什么建议?
hawk234 2004-09-27
  • 打赏
  • 举报
回复
顶一下
速马 2004-09-26
  • 打赏
  • 举报
回复
学好XML本身那.NET内怎么用XML自然不难
强烈推荐到这里学:http://www.w3schools.com/
BearRui 2004-09-26
  • 打赏
  • 举报
回复
microsoft .NET XML 程序设计。

这本书很不错!!!
cuike519 2004-09-26
  • 打赏
  • 举报
回复
使用xmlspy试一试!这个东东配合书里面的例子很爽!
tianwenjie 2004-09-26
  • 打赏
  • 举报
回复
asp.net xml高级编程--c#编程篇
清华大学出版社
hawk234 2004-09-26
  • 打赏
  • 举报
回复
关键我现在不知道从哪里下手

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧