向一个xml文档中插入另一段xml文档的问题

qsc_bmn 2010-04-13 10:31:36
我想向一段xml文档中插入另一段xml文档,使用如下语句:

XmlDocument xIn = new XmlDocument();
xIn.LoadXml(XMLin);
XmlNode newlog = xIn.SelectSingleNode("//log");
XmlDocument log = new XmlDocument();
log.Load(@"D:\data\log.xml");
XmlNode addNode = log.ImportNode(newlog, true);
(log.GetElementsByTagName("logs"))[0].AppendChild(addNode);
log.Save(@"D:\data\log2.xml");

插入后发现新插入的节点带有命名空间,这个应该怎样去掉?
另外,有没有更好的插入方法?
...全文
174 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
FOREVER1314157 2010-04-13
  • 打赏
  • 举报
回复
你可以自己创建一个相同的节点 然后在向你要添加的地方添加!!!
qsc_bmn 2010-04-13
  • 打赏
  • 举报
回复
我是希望把插入的<log>中的xmlns去掉
qsc_bmn 2010-04-13
  • 打赏
  • 举报
回复
现在的结果:

<logs xmlns="http://www.witsml.org/schemas/1series" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.witsml.org/schemas/1series ../xsd_schemas/obj_log.xsd" version="1.4.0.0">
<!--
These examples are only intended to demonstrate the type of data that can be exchanged.
They totally artificial and are not intended to demonstrate best practices.
-->
<documentInfo>
<documentName>Log</documentName>
<fileCreationInformation>
<fileCreationDate>2001-10-31T08:15:00.000Z</fileCreationDate>
<fileCreator>John Smith</fileCreator>
</fileCreationInformation>
</documentInfo>
<log uidWell="W-12" uidWellbore="B-01" uid="f34a">
...
</log>
<log uidWell="W-12" uidWellbore="B-01" uid="f34a" xmlns="">
......
</log>

herty 2010-04-13
  • 打赏
  • 举报
回复
你要的效果示意下
qsc_bmn 2010-04-13
  • 打赏
  • 举报
回复
zengxianbing:
有这样的代码么?
zengxianbing 2010-04-13
  • 打赏
  • 举报
回复
读出log2.xml然后循环遍历插入
qsc_bmn 2010-04-13
  • 打赏
  • 举报
回复
log:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Example of Log data -->
<logs
xmlns="http://www.witsml.org/schemas/1series"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.witsml.org/schemas/1series ../xsd_schemas/obj_log.xsd"
version="1.4.0.0">
<!--
These examples are only intended to demonstrate the type of data that can be exchanged.
They totally artificial and are not intended to demonstrate best practices.
-->
<documentInfo>
<documentName>Log</documentName>
<fileCreationInformation>
<fileCreationDate>2001-10-31T08:15:00.000Z</fileCreationDate>
<fileCreator>John Smith</fileCreator>
</fileCreationInformation>
</documentInfo>
<log uidWell="W-12" uidWellbore="B-01" uid="f34a">
<nameWell>6507/7-A-42</nameWell>
<nameWellbore>A-42</nameWellbore>
<name>L001</name>
<serviceCompany>Baker Hughes INTEQ</serviceCompany>
<runNumber>12</runNumber>
<creationDate>2001-06-18T13:20:00.000Z</creationDate>
<description>Drilling Data Log</description>
<indexType>measured depth</indexType>
<startIndex uom="m">499</startIndex>
<endIndex uom="m">509.01</endIndex>
<stepIncrement uom="m">0</stepIncrement>
<direction>increasing</direction>
<indexCurve columnIndex="1">Mdepth</indexCurve>
<nullValue>-999.25</nullValue>
<logParam index="1" name="MRES" uom="ohm.m" description="Mud Resistivity">1.25</logParam>
<logParam index="2" name="BDIA" uom="in" description="Bit Diameter">12.25</logParam>
<logCurveInfo uid="lci-1">
<mnemonic>Mdepth</mnemonic>
<classWitsml>measured depth of hole</classWitsml>
<unit>m</unit>
<mnemAlias>md</mnemAlias>
<nullValue>-999.25</nullValue>
<minIndex uom="m">499</minIndex>
<maxIndex uom="m">509.01</maxIndex>
<columnIndex>1</columnIndex>
<curveDescription>Measured depth</curveDescription>
<sensorOffset uom="m">0</sensorOffset>
<traceState>raw</traceState>
<typeLogData>double</typeLogData>
</logCurveInfo>
<logCurveInfo uid="lci-2">
<mnemonic>Vdepth</mnemonic>
<classWitsml>TVD of hole</classWitsml>
<unit>m</unit>
<mnemAlias>tvd</mnemAlias>
<nullValue>-999.25</nullValue>
<minIndex uom="m">499</minIndex>
<maxIndex uom="m">509.01</maxIndex>
<columnIndex>2</columnIndex>
<curveDescription>Vertical depth</curveDescription>
<sensorOffset uom="m">0</sensorOffset>
<traceState>raw</traceState>
<typeLogData>double</typeLogData>
</logCurveInfo>
<logData>
<data>499,498.99,1.25,0,1.45,3.67,11.02,187.66,0.29,116.24,0.01,0.05,0.01,0,886.03,1089.99,1.11,14.67,0.29,1.12,1.11</data>
<data>500.01,500,1.9,0.01,1.42,9.94,11.32,185.7,0.29,116.24,0.01,0.01,0.01,0,795.19,973.48,1.11,14.67,0.29,0.95,1.11</data>
<data>501.03,501.02,2.92,0.02,1.41,20.46,11.62,184.23,0.29,120,0.01,0.01,0.01,0,796.68,956.25,1.11,14.67,0.29,0.83,1.11</data>
<data>502.01,502,3.9,0.06,1.44,21.73,10.37,185.49,0.29,120,0.01,0.01,0.01,0,802.96,1005.68,1.1,14.66,0.3,0.8,1.11</data>
<data>503.01,503,4.9,0.11,1.48,17.65,10.31,185.55,0.29,118.09,0.01,0.01,0.01,0,801.19,1007.77,1.11,14.66,0.3,0.83,1.11</data>
<data>504.05,504.04,5.94,0.18,1.55,15.58,10.4,185.43,0.29,120,0.01,0.01,0.01,0,800.83,1015.89,1.1,14.67,0.29,0.86,1.11</data>
<data>505.03,505.00,612.03,1.83,3.32,37.11,18.5,243.38,91.93,0,8.07,8.35,7.68,0.19,900.07,3205,1.26,29.67,93.74,0.75,1.31</data>
<data>506.04,505.95,613.04,1.9,3.4,9.85,27.79,233.9,79,0,8.31,10.24,6.83,1.02,907.9,3210,1.26,29.8,95,1.09,1.31</data>
<data>507.04,506.91,614.04,1.97,3.46,32.44,23.13,238.59,77.35,0,7.93,8.96,7.76,0.14,911.55,3223.33,1.26,29.88,89.19,0.78,1.31</data>
<data>508.01,507.84,615.01,2,3.49,29.03,19.38,242.36,90.59,0,8.32,8.78,7.76,0.32,899.74,3222.17,1.26,29.95,91.66,0.8,1.31</data>
<data>509.01,508.75,616.01,2.08,3.54,13.09,15.89,245.92,93.38,0,7.62,11.87,6.43,0.86,900.93,3215.78,1.26,30.06,98.51,0.92,1.31</data>
</logData>
<commonData>
<dTimCreation>2003-11-24T08:15:00.000Z</dTimCreation>
<dTimLastChange>2003-11-24T08:17:00.000Z</dTimLastChange>
<itemState>plan</itemState>
<comments>These are the comments associated with the log object.</comments>
</commonData>
</log>
</logs>
qsc_bmn 2010-04-13
  • 打赏
  • 举报
回复
xIn:

<?xml version="1.0" encoding="UTF-8"?>
<logs>
<log uidWell="W-12" uidWellbore="B-01" uid="f34a">
<nameWell>6507/7-A-42</nameWell>
<nameWellbore>A-42</nameWellbore>
<name>L001</name>
<serviceCompany>Baker Hughes INTEQ</serviceCompany>
<runNumber>12</runNumber>
<creationDate>2001-06-18T13:20:00.000Z</creationDate>
<description>Drilling Data Log</description>
<indexType>measured depth</indexType>
<startIndex uom="m">499</startIndex>
<endIndex uom="m">509.01</endIndex>
<stepIncrement uom="m">0</stepIncrement>
<direction>increasing</direction>
<indexCurve columnIndex="1">Mdepth</indexCurve>
<nullValue>-999.25</nullValue>
<logParam index="1" name="MRES" uom="ohm.m" description="Mud Resistivity">1.25</logParam>
<logParam index="2" name="BDIA" uom="in" description="Bit Diameter">12.25</logParam>
<logCurveInfo uid="lci-1">
<mnemonic>Mdepth</mnemonic>
<classWitsml>measured depth of hole</classWitsml>
<unit>m</unit>
<mnemAlias>md</mnemAlias>
<nullValue>-999.25</nullValue>
<minIndex uom="m">499</minIndex>
<maxIndex uom="m">509.01</maxIndex>
<columnIndex>1</columnIndex>
<curveDescription>Measured depth</curveDescription>
<sensorOffset uom="m">0</sensorOffset>
<traceState>raw</traceState>
<typeLogData>double</typeLogData>
</logCurveInfo>
<logCurveInfo uid="lci-2">
<mnemonic>Vdepth</mnemonic>
<classWitsml>TVD of hole</classWitsml>
<unit>m</unit>
<mnemAlias>tvd</mnemAlias>
<nullValue>-999.25</nullValue>
<minIndex uom="m">499</minIndex>
<maxIndex uom="m">509.01</maxIndex>
<columnIndex>2</columnIndex>
<curveDescription>Vertical depth</curveDescription>
<sensorOffset uom="m">0</sensorOffset>
<traceState>raw</traceState>
<typeLogData>double</typeLogData>
</logCurveInfo>
</log>
</logs>


qsc_bmn 2010-04-13
  • 打赏
  • 举报
回复
to herty:
我不会用XMLread插入,有没有相关代码?
herty 2010-04-13
  • 打赏
  • 举报
回复
把你XML拿出来我帮你看.
June1991 2010-04-13
  • 打赏
  • 举报
回复
学习学习~
herty 2010-04-13
  • 打赏
  • 举报
回复
你先后面那段把节点的头都去掉用XMLread 在插入看看.
qsc_bmn 2010-04-13
  • 打赏
  • 举报
回复
坐等回复
前 言扩展标记语言(Extensible Markup Language,XML),是目前最有前途的在World Wide Web上保存和传递信息的语言。尽管超文本标记语言(Hypertext Markup Language,HTML)目前是创建Web页的最常用语言,但是它在保存信息方面的能力很有限。与之相反,XML却有着极其灵活的语法,允许真实地描述各种类型的信息,从简单的菜谱到复杂的数据库(所以才会使用术语“扩展”)。XML文档(与样式表或传统的HTML页一起)可以很容易地在浏览器显示。因为XML文档能如此有效地构造和标识它所包含的信息,以致于浏览器可以以非常灵活的方式发现、抽取、排序、过滤、整理以及管理信息。总之,XML提供了一种理想的方法,使用它可以处理Web上数量和复杂性快速增长的信息。为什么不阅读另一本XML书籍 XML可能会让人感到混乱。XML应用程序以令人吃惊的速度不断出现,而且XML与用来格式化、显示、处理和增强XML文档的大量相关标准和技术紧密联系在一起。许多这样的相关标准和技术还处在“幼儿”阶段,正在快速地变化和发展。大部分我读过的XML书籍都试图全面地介绍这些技术,但是却让人有一种在迷宫迷失的感觉。我认为,这种典型的XML书籍过于肤浅地讨论了过多的XML技术,没有把实用与非实用、现在和将来相区别。本书回答了大部分基本的XML问题—什么是XML,为什么需要它,以及怎样使用它—并且介绍了到目前为止最重要、最实用的XML技术。本书的主题均是经过精心筛选的,对每一种主题的介绍都很有深度,并且避免了不完整的解决方案。(例如,因为我在第二部分介绍了怎样定义XML属性,所以在第三部分接着介绍了在显示文档时怎样访问这些属性。)直到我亲自动手编写并显示XML文档时,才真正理解了XML。因此,我在本书也采用了这种方法,包括了许多循序渐进的指导、实用的例子和教程式的练习;避免对XML这种难于理解的主题进行理论和抽象的讨论。本书及附带的光盘还提供了一个完整的XML学习软件包。这个软件包提供了学习创建和显示XML文档所需基础知识的所有信息、指导和软件。本书还包括了指向Web上大量XML信息的详尽链接集,如果你想要了解基础知识以外的信息,则可以利用这些链接。在本书将学到什么本书的第一部分(第1章和第2章)提供了对XML的简要介绍,并为学习后续的详细信息做准备。第1章回答了我前面提到的基本问题—什么是XML,为什么需要它,以及怎样使用它来解决现实世界的问题。第2章提供了一个手把手的练习,使你对创建XML文档并在Web浏览器显示的全过程有一个大致印象。第二部分(第3章到第6章)重点介绍创建XML文档的规则和技术。第3章和第4章介绍怎样创建格式正确的XML文档—符合最基本的XML需求的文档。第5章和第6章介绍怎样创建有效的XML文档—符合可选和更严格的规则集的文档。第二部分的章节基于W3C(World Wide Web协会)的正式XML规范。第三部分(第7章到第10章)介绍目前最重要的在Web浏览器显示XML文档的技术。第7章和第10章解释怎样通过附加一个为浏览器提供格式指令的样式表来显示XML文档。第7章讨论级联样式表(cascading style sheet)—最简单,但是最受限的样式表类型—而第10章介绍使用XSL(扩展样式表语言,Extensible Stylesheet Language),一种用XML编写的更高级、更灵活的样式表类型。第8章和第9章介绍怎样通过把文档链接到包括访问、处理和表示XML数据的HTML Web页来显示XML文档。第8章介绍怎样使用数据绑定(data binding,一种只适用于某种XML文档的简单技术)来做到这一点。第9章介绍怎样通过可用于任意XML文档类型且高度灵活的编程对象,即众所周知的XML文档对象模型(XML Document Object Model),编写脚本来在HTML页显示XML文档。注意 在本书,使用术语“页面(page)”来表示HTML源文件,使用术语“文档(document)”来表示XML源文件,以便清楚地区别这两种经常一起使用的标记语言。第三部分重点讨论使用Microsoft Internet Explorer 5 Web浏览器显示XML文档。最后,附录提供了一些Web站点的地址,这些站点包含了大量有关本书所讨论主题的更深入信息。我还在各章节包括了这些地址,每一个地址都适用于各章节讨论的内容。在本书附带光盘的“Resource Links”文件夹名为Appendix.htm的文件,会找到附录的拷贝。(要了解在计算机上安装Appendix.htm的信息,参见光盘上的Readme文件。)你可以通过在Web浏览器打开Appendix.htm文件并单击链接来访问任意一个Web站点,而不必在浏览器输入地址。提示 你可能想要在Web上访问下列XML信息站点以便补充从本书学到的内容。W3C在www.w3.org/为Web创作人员提供了各种信息、标准和服务。Microsoft Developer Network(微软开发商网络,MSDN)在http://msdn.microsoft.com/xml/ default.asp提供了Microsoft产品所支持的、有关XML的大量信息。http://www.oasis-open.org/cover/的在线参考书《The XML Cover Page》包括了有关XML和其他标记语言的综合信息。循序渐进学习XML和Internet Explorer 尽管本书提供的大部分技术都基于公开的标准,并且能够与大量浏览器一起协同工作,但是本书是专门为Microsoft Internet Explorer 5.0~5.5编写的。本书附带的光盘包括Internet Explorer 5.01。因此,你可以使用这张光盘上提供的浏览器软件显示本书使用这些技术创建的任意XML文档。提示 可以从http://www.microsoft.com/windows/ie下载最新的Internet Explorer 5.5。在整本书,Internet Explorer 5指的是Microsoft Internet Explorer 5.0~5.5。当某些信息只适用于某个Internet Explorer版本时,会及时指出,例如Internet Explorer 5.01或Internet Explorer 5.5。本书介绍的所有特性和技术都可以用于Internet Explorer 5.5。少数几种特性是第一次出现在版本5.5,因此无法用于以前的版本。我将清楚地标出只适用于Internet Explorer 5.5的那些特性。环境需求下面是使用本书及其附带光盘的基本硬件和软件需求: ?要访问本书附带的光盘,并安装包括在光盘的Internet Explorer软件,需要一台运行Microsoft Windows并安装有一台CD-ROM驱动器的计算机。可以使用Windows 95、Windows 98、Windows NT 4.0(带有Service Pack3或更高版本)、Windows 2000,或者任意更高版本的Windows。 ?选择“Install Example Code And Resource Links”安装选项大约需要1MB硬盘空间。 ?要查看本书引用的Web站点,需要连接到Internet。不过,成功地使用本书不需要查看这些站点,因此Internet连接是可选的。本书的目的是介绍XML,因此不需要事先对XML本身有所了解。不过,本书介绍的几种有关显示XML文档的技术需要使用下列一种或多种Web创作语言:HTML、动态HTML(DHTML)和Microsoft JScript(普通JavaScript脚本语言的Microsoft版本)。尽管本书在例子介绍了这些语言的特性,但是了解这些语言的一些基本知识仍然有用。提示 要了解在Internet Explorer 5使用HTML和DHML的信息,请访问MSDN提供的Web站点:http://msdn.microsoft.com/workshop/author/default.asp。要阅读正式的HTML规范,参见W3C提供的Web站点:http://www.w3.org/TR/REC-html40/。在也是由MSDN提供的站点http://msdn.microsoft.com/workshop/c-frame.htm#/workshop/languages/jscript/ handling.asp和http://msdn.microsoft.com /scripting/default.htm?/scripting/jscript/default.htm,包括完整的JScript信息,也包括初学者的教程。使用附带的光盘附带的光盘提供了下列有价值的资源,以便对本书的信息进行补充: ?本书带有编号的程序清单的源文件拷贝。这些程序清单(例如,第2章的程序清单2-1)提供了XML文档、样式表,和用来显示XML文档的HTML页的例子。在引入带有编号的程序清单时,也会同时给出它在光盘对应文件的名称。(例如,程序清单2-1在文件Inventory.xml。)所有这些文件都在附带光盘的“Example Code”文件夹。 ?所有在XML文档示例显示的图形文件。这些文件包含在与程序清单文件相同的光盘文件夹(Example Code)。 ?Web页文件Appendix.htm附录的拷贝。该文件在光盘上的“Resource Link”文件夹。 ?Internet Explorer 5.01版。当把CD-ROM插入驱动器时,附带的光盘会自动启动安装。如果计算机不支持自动启动,就使用Windows资源管理器显示光盘的内容,并双击根文件夹的StartCD.exe。这两种方法都可以打开欢迎屏幕。欢迎屏幕上显示了阅读Readme文件、安装示例代码和资源链接,安装Microsoft Internet Explorer 5.0,浏览光盘内容,或链接到Microsoft Press支持的Web站点等选项。一旦选择了一个选项,只要按照屏幕上显示的指示操作即可。怎样与作者联系你可以访问我的Web站点:http://ourworld.compuserve.com/homepages/mjy。那里有对本书的更正、读者的问题以及答案,获取有关XML进一步帮助的资源及相关技术,我的一些其他书籍的介绍和附加的信息。你可以给我发e-mail,地址是mjy@compuserve.com。欢迎你的意见和反馈信息。尽管我很少有时间回答那些需要深入研究的问题,但是如果你的问题我能够回答,那么我将会尽力回复。 Microsoft Press支持信息我尽了最大的努力保证本书和附带光盘内容的准确性。Microsoft Perss通过万维网上的http://mspress.microsoft.com/support/提供了对书籍的更正。如果你对本书或者它所附带的光盘有意见、问题或想法,请通过e-mail把它们发送到Microsoft 出版社: MSPinput@Microsoft.com 或者把信邮寄到: Microsoft Press Attn: XML Step by Step Editor One Microsoft Way Redmond, WA 98052-6399 请注意,产品支持不是通过上述地址提供的。英文原书书号:ISNB0-7356-1020-7 英文原书名,XML Step by Step .
XML学习指南经典文版 扩展标记语言(Extensible Markup Language,XML),是目前最有前途的在World Wide Web上保存和传递信息的语言。尽管超文本标记语言(Hypertext Markup Language,HTML)目前是创建Web页的最常用语言,但是它在保存信息方面的能力很有限。与之相反,XML却有着极其灵活的语法,允许真实地描述各种类型的信息,从简单的菜谱到复杂的数据库(所以才会使用术语“扩展”)。XML文档(与样式表或传统的HTML页一起)可以很容易地在浏览器显示。因为XML文档能如此有效地构造和标识它所包含的信息,以致于浏览器可以以非常灵活的方式发现、抽取、排序、过滤、整理以及管理信息。总之,XML提供了一种理想的方法,使用它可以处理Web上数量和复杂性快速增长的信息。为什么不阅读另一本XML书籍 XML可能会让人感到混乱。XML应用程序以令人吃惊的速度不断出现,而且XML与用来格式化、显示、处理和增强XML文档的大量相关标准和技术紧密联系在一起。许多这样的相关标准和技术还处在“幼儿”阶段,正在快速地变化和发展。大部分我读过的XML书籍都试图全面地介绍这些技术,但是却让人有一种在迷宫迷失的感觉。我认为,这种典型的XML书籍过于肤浅地讨论了过多的XML技术,没有把实用与非实用、现在和将来相区别。本书回答了大部分基本的XML问题—什么是XML,为什么需要它,以及怎样使用它—并且介绍了到目前为止最重要、最实用的XML技术。本书的主题均是经过精心筛选的,对每一种主题的介绍都很有深度,并且避免了不完整的解决方案。(例如,因为我在第二部分介绍了怎样定义XML属性,所以在第三部分接着介绍了在显示文档时怎样访问这些属性。)直到我亲自动手编写并显示XML文档时,才真正理解了XML。因此,我在本书也采用了这种方法,包括了许多循序渐进的指导、实用的例子和教程式的练习;避免对XML这种难于理解的主题进行理论和抽象的讨论。本书及附带的光盘还提供了一个完整的XML学习软件包。这个软件包提供了学习创建和显示XML文档所需基础知识的所有信息、指导和软件。本书还包括了指向Web上大量XML信息的详尽链接集,如果你想要了解基础知识以外的信息,则可以利用这些链接。在本书将学到什么本书的第一部分(第1章和第2章)提供了对XML的简要介绍,并为学习后续的详细信息做准备。第1章回答了我前面提到的基本问题—什么是XML,为什么需要它,以及怎样使用它来解决现实世界的问题。第2章提供了一个手把手的练习,使你对创建XML文档并在Web浏览器显示的全过程有一个大致印象。第二部分(第3章到第6章)重点介绍创建XML文档的规则和技术。第3章和第4章介绍怎样创建格式正确的XML文档—符合最基本的XML需求的文档。第5章和第6章介绍怎样创建有效的XML文档—符合可选和更严格的规则集的文档。第二部分的章节基于W3C(World Wide Web协会)的正式XML规范。第三部分(第7章到第10章)介绍目前最重要的在Web浏览器显示XML文档的技术。第7章和第10章解释怎样通过附加一个为浏览器提供格式指令的样式表来显示XML文档。第7章讨论级联样式表(cascading style sheet)—最简单,但是最受限的样式表类型—而第10章介绍使用XSL(扩展样式表语言,Extensible Stylesheet Language),一种用XML编写的更高级、更灵活的样式表类型。第8章和第9章介绍怎样通过把文档链接到包括访问、处理和表示XML数据的HTML Web页来显示XML文档。第8章介绍怎样使用数据绑定(data binding,一种只适用于某种XML文档的简单技术)来做到这一点。第9章介绍怎样通过可用于任意XML文档类型且高度灵活的编程对象,即众所周知的XML文档对象模型(XML Document Object Model),编写脚本来在HTML页显示XML文档。注意 在本书,使用术语“页面(page)”来表示HTML源文件,使用术语“文档(document)”来表示XML源文件,以便清楚地区别这两种经常一起使用的标记语言。第三部分重点讨论使用Microsoft Internet Explorer 5 Web浏览器显示XML文档。最后,附录提供了一些Web站点的地址,这些站点包含了大量有关本书所讨论主题的更深入信息。我还在各章节包括了这些地址,每一个地址都适用于各章节讨论的内容。在本书附带光盘的“Resource Links”文件夹名为Appendix.htm的文件,会找到附录的拷贝。(要了解在计算机上安装Appendix.htm的信息,参见光盘上的Readme文件。)你可以通过在Web浏览器打开Appendix.htm文件并单击链接来访问任意一个Web站点,而不必在浏览器输入地址。提示 你可能想要在Web上访问下列XML信息站点以便补充从本书学到的内容。W3C在www.w3.org/为Web创作人员提供了各种信息、标准和服务。Microsoft Developer Network(微软开发商网络,MSDN)在http://msdn.microsoft.com/xml/ default.asp提供了Microsoft产品所支持的、有关XML的大量信息。http://www.oasis-open.org/cover/的在线参考书《The XML Cover Page》包括了有关XML和其他标记语言的综合信息。循序渐进学习XML和Internet Explorer 尽管本书提供的大部分技术都基于公开的标准,并且能够与大量浏览器一起协同工作,但是本书是专门为Microsoft Internet Explorer 5.0~5.5编写的。本书附带的光盘包括Internet Explorer 5.01。因此,你可以使用这张光盘上提供的浏览器软件显示本书使用这些技术创建的任意XML文档。提示 可以从http://www.microsoft.com/windows/ie下载最新的Internet Explorer 5.5。在整本书,Internet Explorer 5指的是Microsoft Internet Explorer 5.0~5.5。当某些信息只适用于某个Internet Explorer版本时,会及时指出,例如Internet Explorer 5.01或Internet Explorer 5.5。本书介绍的所有特性和技术都可以用于Internet Explorer 5.5。少数几种特性是第一次出现在版本5.5,因此无法用于以前的版本。我将清楚地标出只适用于Internet Explorer 5.5的那些特性。环境需求下面是使用本书及其附带光盘的基本硬件和软件需求: ?要访问本书附带的光盘,并安装包括在光盘的Internet Explorer软件,需要一台运行Microsoft Windows并安装有一台CD-ROM驱动器的计算机。可以使用Windows 95、Windows 98、Windows NT 4.0(带有Service Pack3或更高版本)、Windows 2000,或者任意更高版本的Windows。 ?选择“Install Example Code And Resource Links”安装选项大约需要1MB硬盘空间。 ?要查看本书引用的Web站点,需要连接到Internet。不过,成功地使用本书不需要查看这些站点,因此Internet连接是可选的。本书的目的是介绍XML,因此不需要事先对XML本身有所了解。不过,本书介绍的几种有关显示XML文档的技术需要使用下列一种或多种Web创作语言:HTML、动态HTML(DHTML)和Microsoft JScript(普通JavaScript脚本语言的Microsoft版本)。尽管本书在例子介绍了这些语言的特性,但是了解这些语言的一些基本知识仍然有用。提示 要了解在Internet Explorer 5使用HTML和DHML的信息,请访问MSDN提供的Web站点:http://msdn.microsoft.com/workshop/author/default.asp。要阅读正式的HTML规范,参见W3C提供的Web站点:http://www.w3.org/TR/REC-html40/。在也是由MSDN提供的站点http://msdn.microsoft.com/workshop/c-frame.htm#/workshop/languages/jscript/ handling.asp和http://msdn.microsoft.com /scripting/default.htm?/scripting/jscript/default.htm,包括完整的JScript信息,也包括初学者的教程。使用附带的光盘附带的光盘提供了下列有价值的资源,以便对本书的信息进行补充: ?本书带有编号的程序清单的源文件拷贝。这些程序清单(例如,第2章的程序清单2-1)提供了XML文档、样式表,和用来显示XML文档的HTML页的例子。在引入带有编号的程序清单时,也会同时给出它在光盘对应文件的名称。(例如,程序清单2-1在文件Inventory.xml。)所有这些文件都在附带光盘的“Example Code”文件夹。 ?所有在XML文档示例显示的图形文件。这些文件包含在与程序清单文件相同的光盘文件夹(Example Code)。 ?Web页文件Appendix.htm附录的拷贝。该文件在光盘上的“Resource Link”文件夹。 ?Internet Explorer 5.01版。当把CD-ROM插入驱动器时,附带的光盘会自动启动安装。如果计算机不支持自动启动,就使用Windows资源管理器显示光盘的内容,并双击根文件夹的StartCD.exe。这两种方法都可以打开欢迎屏幕。欢迎屏幕上显示了阅读Readme文件、安装示例代码和资源链接,安装Microsoft Internet Explorer 5.0,浏览光盘内容,或链接到Microsoft Press支持的Web站点等选项。一旦选择了一个选项,只要按照屏幕上显示的指示操作即可。怎样与作者联系你可以访问我的Web站点:http://ourworld.compuserve.com/homepages/mjy。那里有对本书的更正、读者的问题以及答案,获取有关XML进一步帮助的资源及相关技术,我的一些其他书籍的介绍和附加的信息。你可以给我发e-mail,地址是mjy@compuserve.com。欢迎你的意见和反馈信息。尽管我很少有时间回答那些需要深入研究的问题,但是如果你的问题我能够回答,那么我将会尽力回复。 Microsoft Press支持信息我尽了最大的努力保证本书和附带光盘内容的准确性。Microsoft Perss通过万维网上的http://mspress.microsoft.com/support/提供了对书籍的更正。如果你对本书或者它所附带的光盘有意见、问题或想法,请通过e-mail把它们发送到Microsoft 出版社: MSPinput@Microsoft.com 或者把信邮寄到: Microsoft Press Attn: XML Step by Step Editor One Microsoft Way Redmond, WA 98052-6399 请注意,产品支持不是通过上述地址提供的。英文原书书号:ISNB0-7356-1020-7 英文原书名,XML Step by Step .
译者序 作者简介 前言 第1章 XML简介 1 1.1 标记语言 1 1.2 XML的起源和目的 2 1.3 Web体系结构:过去与未来 4 1.3.1 传统Web体系结构 4 1.3.2 XML下的Web体系结构 5 1.4 XML基本特征 6 1.5 词汇表 8 1.5.1 科学词汇表 8 1.5.2 商业词汇表 9 1.5.3 法律词汇表 10 1.5.4 医学词汇表 11 1.5.5 计算机词汇表 11 1.6 XML技术的主要特性 12 1.6.1 格式正规的XML 12 1.6.2 文档类型定义 13 1.6.3 数据建模 14 1.6.4 文档对象模型 14 1.6.5 XML 简单API 14 1.6.6 命名空间和模式 14 1.6.7 链接和查询 15 1.6.8 转换XML 15 1.6.9 XML和数据库 16 1.6.10 服务器到服务器 16 1.6.11 电子商务与XML 17 1.6.12 使用样式 18 1.6.13 无线应用协议和WML 18 1.7 XML的应用程序举例 19 1.8 小结 19 第2章 XML语法 20 2.1 标记语法 20 2.1.1 字符 20 2.1.2 命名 21 2.2 文档部分 22 2.3 元素 23 2.3.1 起始标记 24 2.3.2 结束标记 24 2.3.3 空元素标记 24 2.3.4 标记:一个简单的例子 25 2.3.5 文档元素 25 2.3.6 子元素 26 2.3.7 元素嵌套 27 2.3.8 字符串 29 2.4 字符数据 29 2.5 属性 30 2.5.1 特殊属性 31 2.5.2 空白 33 2.5.3 行尾的处理 34 2.6 字符引用和实体引用 34 2.6.1 字符引用 34 2.6.2 实体引用 34 2.7 处理指令 35 2.8 注释 36 2.9 CDATA部分 37 2.10 文档结构 38 2.10.1 序言 38 2.10.2 尾声 43 2.11 XML语法小结 43 2.12 格式正规的文档 44 2.13 解析器 45 2.13.1 事件驱动的解析器 45 2.13.2 基于树的解析器 46 2.13.3 解析器基准测试 46 2.14 书籍目录应用程序 47 2.15 小结 49 第3章 文档类型定义 51 3.1 为何需要正式的结构 51 3.1.1 文档域 52 3.1.2 验证文档的有效性 52 3.2 编写DTD:通用原则 52 3.2.1 将DTD与XML文档相关联 53 3.2.2 基本标记声明 55 3.3 正式的DTD结构 55 3.3.1 实体 56 3.3.2 元素 58 3.3.3 属性 61 3.3.4 条件部分 67 3.4 DTD的缺点 69 3.5 用于图书目录问题的DTD 70 3.5.1 图书目录问题的正式定义 70 3.5.2 对象关系问题 77 3.5.3 进一步讨论 78 3.6 小结 79 第4章 数据建模与XML 80 4.1 信息建模 80 4.1.1 静态模型和动态模型 81 4.1.2 文档和数据 82 4.1.3 从何处开始 82 4.1.4 静态信息模型 83 4.1.5 动态建模:对数据进行哪些处理 87 4.2 设计XML文档 90 4.2.1 XML的两种角色 90 4.2.2 将信息模型映射到XML 93 4.3 模式语言和表示法 101 4.3.1 模式的作用 101 4.3.2 将DTD作为模式 103 4.3.3 XML模式建议 109 4.4 小结 110 第5章 文档对象模型 111 5.1 什么是文档对象模型 111 5.1.1 XML文档结构 111 5.1.2 为何使用DOM 113 5.1.3 DOM规范 115 5.1.4 现实世界的DOM 116 5.1.5 特殊的XML DOM实例— HTML DOM 117 5.2 使用DOM 120 5.2.1 DOM API 120 5.2.2 客户端和服务器端 121 5.2.3 DOM在出版过程的应用 122 5.3 使用DOM和XML的应用实例 125 5.3.1 简单的客户端实例 125 5.3.2 更复杂的编程实例 133 5.4 DOM和XML的未来 143 5.4.1 W3C的工作 143 5.4.2 应用 144 5.4.3 数据库、模式和DOM 144 5.5 小结 144 第6章 SAX 1.0: XML简易API 145 6.1 事件驱动接口 145 6.2 SAX的由来 148 6.3 SAX的高级特性 165 6.3.1 可选择的源输入 166 6.3.2 处理外部实体 168 6.3.3 选择解析器 169 6.4 一些SAX设计模式 171 6.5 SAX 2.0 187 6.5.1 可配置的接口 187 6.5.2 核心的特性和属性 188 6.6 小结 189 第7章 命名空间和模式 191 7.1 混合词汇表 192 7.1.1 分解问题 193 7.1.2 重用 193 7.1.3 多义性名称冲突 193 7.2 命名空间 195 7.3 定义和声明命名空间 196 7.3.1 声明一个命名空间 196 7.3.2 限定名 196 7.3.3 范围 197 7.4 在格式正规的书籍里使用命名空间 实例 199 7.5 模式 201 7.5.1 与DTD有关的问题 201 7.5.2 一个对创建模式的帮助 203 7.6 W3C在XML 模式方面的工作 209 7.6.1 DTD与XML 模式的比较 210 7.6.2 结构 211 7.6.3 数据类型 219 7.7 简化了的XML Data 222 7.7.1 MSXML对命名空间和模式的支持 228 7.7.2 数据类型 229 7.8 图书目录的变化 230 7.8.1 为什么烦恼 230 7.8.2 重铸DTD 231 7.8.3 模式协调 236 7.9 小结 240 第8章 链接和查询 241 8.1 XML 信息集合 241 8.1.1 信息类型 241 8.1.2 信息集合的重要性 248 8.1.3 小结 250 8.2 链接 250 8.2.1 什么是链接 250 8.2.2 W3C规范:XLink 252 8.3 Xpointer 266 8.3.1 HTML指针 266 8.3.2 Xpointer 规范 267 8.4 W3C Xpath推荐标准 269 8.4.1 Location Step 269 8.4.2 XPointer对XPath的扩展 276 8.4.3 Xpointer错误 277 8.4.4 小结 277 8.5 XML程序段交换 278 8.5.1 什么是文档程序段 278 8.5.2 文档程序段的一些用途 279 8.5.3 问题:Bare文档程序段并不总 是充分的 281 8.5.4 解决办法:环境信息 283 8.5.5 回顾实例 285 8.5.6 如何传输程序段 287 8.5.7 小结 289 8.6 查询 289 8.6.1 什么是查询语言 289 8.6.2 关系型数据库和XML文档之间 的区别 291 8.6.3 XML查询语言的发展历史 295 8.6.4 使用Xpath和XSLT查询XML文档 298 8.6.5 查询语言展望 309 8.7 小结 309 第9章 转换 XML 310 9.1 为什么转换 XML 311 9.1.1 在不同词汇表之间转换 311 9.1.2 动态转换 312 9.1.3 不同的浏览器 312 9.2 XSL 313 9.3 XSLT 样式表命令 325 9.3.1 创建模板 325 9.3.2 处理空白 326 9.3.3 输出格式 326 9.3.4 合并样式表 327 9.3.5 嵌入样式表 328 9.4 使用XSLT的例子 328 9.4.1 命令的转换 329 9.4.2 循环 335 9.4.3 排序 336 9.4.4 条件处理 338 9.4.5 名称模板 341 9.4.6 编号方式 342 9.4.7 拷贝 344 9.5 使用DOM进行XML文档的转换 345 9.5.1 用DOM进行命令的转换 346 9.5.2 在运行时修改一个XSLT文档 349 9.6 XSL转换与DOM转换的比较 353 9.7 小结 354 第10章 XML和数据库 355 10.1 存储XML 355 10.1.1 持续性问题 355 10.1.2 文档管理 360 10.1.3 XML存储和数据库 362 10.1.4 结论 376 10.2 XML的交换 377 10.2.1 数据标准 377 10.2.2 查询标准 380 10.2.3 结论 388 10.2.4 你可能需要的标准 388 10.3 图书目录的例子 389 10.3.1 处理存在的数据和应用 389 10.3.2 图书目录模式 395 10.4 结论 420 第11章 服务器到服务器 421 11.1 XML的传送 421 11.1.1 基于FTP的XML传送 422 11.1.2 XML和消息队列 422 11.1.3 基于HTTP的XML 423 11.1.4 基于SMTP的XML 423 11.2 作为一种分布式组件模式的XML 424 11.2.1 消息传送和串行化 424 11.2.2 紧耦合系统和松耦合系统 428 11.2.3 通信方式 430 11.3 XML-RPC 431 11.3.1 为什么使用XML-RPC 432 11.3.2 XML-RPC适用于何处 433 11.3.3 XML-RPC规范—技术全瞻 434 11.3.4 XML-RPC的实现 440 11.3.5 书籍应用例子 444 11.3.6 到哪里去 464 11.4 SOAP 465 11.4.1 XML-RPC++ 465 11.4.2 实现 478 11.4.3 结论 493 11.5 WebDAV 493 11.6 小结 494 第12章 电子商务和XML 495 12.1 什么是电子商务 496 12.1.1 对客户直接销售 496 12.1.2 企业对企业交易 497 12.1.3 信息共享和内容联合 497 12.1.4 EDI—电子数据交换 498 12.2 在电子商务应用XML 503 12.2.1 通常的错误概念 509 12.2.2 在电子商务使用XML的感受 512 12.3 展望未来 513 12.3.1 发现和调解 514 12.3.2 容器 517 12.3.3 代理 519 12.3.4 模板 520 12.4 理论转化为实现 521 12.5 电子商务解决方案 521 12.6 行业方案 521 12.6.1 纵向行业解决方案的关键 522 12.6.2 旅游 523 12.7 人力资源 524 12.7.1 HR-XML 524 12.7.2 健康 532 12.8 cXML—纵向行业的一个详细 例子 535 12.8.1 为什么有cXML 535 12.8.2 cXML协议规范 536 12.8.3 消息传输 540 12.9 第1步—横向行业 546 12.9.1 ASC X12 546 12.9.2 XML-EDIFACT 547 12.9.3 电子商务XML工作组 549 12.10 第一个横向步骤 549 12.10.1 BizTalk标记规范 550 12.10.2 规范的目标和当前的限制 550 12.10.3 文档结构 551 12.10.4 一个用于Wrox书店的BizTalk 文档 557 12.10.5 BizTalk Jumpstart工具包简介 561 12.10.6 BizTalk服务器 562 12.11 小结 565 第13章 样式XML 567 13.1 解释的位置 567 13.2 客户端的XML转换 568 13.3 解释模型 568 13.3.1 视觉解释 569 13.3.2 语音解释 570 13.3.3 如何将样式表链接到XML文档上 571 13.3.4 规则语言 571 13.3.5 CSS 572 13.3.6 XSL 592 13.3.7 用XSL解释XML 594 13.3.8 DSSSL 611 13.3.9 Omnimark 614 13.4 小结 616 第14章 无线应用协议 617 14.1 新客户介绍 617 14.2 了解无线环境 621 14.2.1 服务 621 14.2.2 无线网络 622 14.2.3 WAP如何解决无线网络应用遇到 的问题 624 14.3 介绍WML 626 14.3.1 怎样将第一份文档传送到电话上 626 14.3.2 WML文档的结构 627 14.3.3 通用属性 629 14.3.4 WML包括什么 630 14.3.5 Meta信息 630 14.3.6 基本字符、表格和演示 631 14.3.7 使用计时器 633 14.3.8 事件处理器 634 14.3.9 使用变量 635 14.3.10 任务和菜单 637 14.3.11 客户端模板 641 14.3.12 表单数据 643 14.3.13 图像 646 14.4 在服务器上生成WML 646 14.5 WROX的WML应用 648 14.6 WML脚本 651 14.6.1 基本概念 652 14.6.2 字节码 652 14.6.3 如何从WML上调用脚本函数 652 14.7 脚本库 653 14.7.1 决定浏览器的状态—WMLBrowser 脚本库 653 14.7.2 Dialogs库 654 14.7.3 特定的语言函数 655 14.7.4 浮点数 655 14.7.5 字符串 656 14.7.6 URL 657 14.8 如何得到更多的信息 660 14.9 小结 660 第15章 实例研究1─数据双重性 662 15.1 商业需求 662 15.2 系统要求 662 15.3 设计时间:让我们开始吧 662 15.4 实现方法概述 663 15.5 建立数据库 665 15.6 提供XML功能的ASP 665 15.7 客户端页面 668 15.8 “以编号浏览”XSL样式表 676 15.9 “以名字浏览”XSL样式表 678 15.10 激活XSL样式表 679 15.11 问题:保持树的同步 680 15.12 小结 683 第16章 实例研究2—XML和分布式 应用程序 684 16.1 目前的弱点 684 16.2 构建网络应用程序的五条原则 685 16.2.1 从粗粒度服务构建应用程序 686 16.2.2 通过查询目录发现服务 687 16.2.3 将服务提供为自描述数据 688 16.2.4 服务是短暂的 689 16.2.5 服务必须可扩展,且能够降低对 外部的要求 690 16.3 商业实例 691 16.4 应用程序设计 692 16.4.1 应用程序的组织 694 16.4.2 程序员服务客户 694 16.4.3 服务 695 16.4.4 交换词汇表 696 16.5 实现 697 16.5.1 定位服务 698 16.5.2 管理数据绑定 699 16.6 输入和编辑程序员信息 700 16.6.1 客户端 700 16.6.2 服务器端 701 16.6.3 用于插入程序员信息的完整客户 端代码 704 16.6.4 用于插入程序员信息的完整服务器 端代码 705 16.7 搜索程序员信息 707 16.7.1 客户端 707 16.7.2 服务器端 709 16.8 清除程序员表单 710 16.9 输入程序员成果报告 711 16.9.1 客户端 711 16.9.2 服务器端 712 16.10 清除成果报告历史表单 714 16.11 获取程序员的成果历史 714 16.11.1 客户端 714 16.11.2 服务器端 716 16.12 经验教训 718 16.12.1 违反的开发原则 718 16.12.2 组件 718 16.12.3 重用的可能性 718 16.13 小结 719 第17章 实例研究3—图书目录信息 服务 720 17.1 图书目录信息服务 721 17.1.1 系统概述 721 17.1.2 创建BCIS 732 17.2 小结 764 第18章 实例研究4—SOAP 765 18.1 追根溯源 765 18.2 SOAP Opera 770 18.2.1 OPERA客户端 771 18.2.2 OPERA服务器 780 18.2.3 订单输入应用程序 793 18.2.4 对象 796 18.3 小结 809 附录A XML 1.0规范 810 附录B IE 5 XML文档对象模型 847 附录C SAX 1.0:XML简单API 887 附录D IE 5 XML模式和数据类型 906 附录E IE 5 XSL引用 915 附录F CSS属性 927 附录G 安装XT 939 附录H 支持与勘误 940
前 言扩展标记语言(Extensible Markup Language,XML),是目前最有前途的在World Wide Web上保存和传递信息的语言。尽管超文本标记语言(Hypertext Markup Language,HTML)目前是创建Web页的最常用语言,但是它在保存信息方面的能力很有限。与之相反,XML却有着极其灵活的语法,允许真实地描述各种类型的信息,从简单的菜谱到复杂的数据库(所以才会使用术语“扩展”)。XML文档(与样式表或传统的HTML页一起)可以很容易地在浏览器显示。因为XML文档能如此有效地构造和标识它所包含的信息,以致于浏览器可以以非常灵活的方式发现、抽取、排序、过滤、整理以及管理信息。总之,XML提供了一种理想的方法,使用它可以处理Web上数量和复杂性快速增长的信息。为什么不阅读另一本XML书籍 XML可能会让人感到混乱。XML应用程序以令人吃惊的速度不断出现,而且XML与用来格式化、显示、处理和增强XML文档的大量相关标准和技术紧密联系在一起。许多这样的相关标准和技术还处在“幼儿”阶段,正在快速地变化和发展。大部分我读过的XML书籍都试图全面地介绍这些技术,但是却让人有一种在迷宫迷失的感觉。我认为,这种典型的XML书籍过于肤浅地讨论了过多的XML技术,没有把实用与非实用、现在和将来相区别。本书回答了大部分基本的XML问题—什么是XML,为什么需要它,以及怎样使用它—并且介绍了到目前为止最重要、最实用的XML技术。本书的主题均是经过精心筛选的,对每一种主题的介绍都很有深度,并且避免了不完整的解决方案。(例如,因为我在第二部分介绍了怎样定义XML属性,所以在第三部分接着介绍了在显示文档时怎样访问这些属性。)直到我亲自动手编写并显示XML文档时,才真正理解了XML。因此,我在本书也采用了这种方法,包括了许多循序渐进的指导、实用的例子和教程式的练习;避免对XML这种难于理解的主题进行理论和抽象的讨论。本书及附带的光盘还提供了一个完整的XML学习软件包。这个软件包提供了学习创建和显示XML文档所需基础知识的所有信息、指导和软件。本书还包括了指向Web上大量XML信息的详尽链接集,如果你想要了解基础知识以外的信息,则可以利用这些链接。在本书将学到什么本书的第一部分(第1章和第2章)提供了对XML的简要介绍,并为学习后续的详细信息做准备。第1章回答了我前面提到的基本问题—什么是XML,为什么需要它,以及怎样使用它来解决现实世界的问题。第2章提供了一个手把手的练习,使你对创建XML文档并在Web浏览器显示的全过程有一个大致印象。第二部分(第3章到第6章)重点介绍创建XML文档的规则和技术。第3章和第4章介绍怎样创建格式正确的XML文档—符合最基本的XML需求的文档。第5章和第6章介绍怎样创建有效的XML文档—符合可选和更严格的规则集的文档。第二部分的章节基于W3C(World Wide Web协会)的正式XML规范。第三部分(第7章到第10章)介绍目前最重要的在Web浏览器显示XML文档的技术。第7章和第10章解释怎样通过附加一个为浏览器提供格式指令的样式表来显示XML文档。第7章讨论级联样式表(cascading style sheet)—最简单,但是最受限的样式表类型—而第10章介绍使用XSL(扩展样式表语言,Extensible Stylesheet Language),一种用XML编写的更高级、更灵活的样式表类型。第8章和第9章介绍怎样通过把文档链接到包括访问、处理和表示XML数据的HTML Web页来显示XML文档。第8章介绍怎样使用数据绑定(data binding,一种只适用于某种XML文档的简单技术)来做到这一点。第9章介绍怎样通过可用于任意XML文档类型且高度灵活的编程对象,即众所周知的XML文档对象模型(XML Document Object Model),编写脚本来在HTML页显示XML文档。注意 在本书,使用术语“页面(page)”来表示HTML源文件,使用术语“文档(document)”来表示XML源文件,以便清楚地区别这两种经常一起使用的标记语言。第三部分重点讨论使用Microsoft Internet Explorer 5 Web浏览器显示XML文档。最后,附录提供了一些Web站点的地址,这些站点包含了大量有关本书所讨论主题的更深入信息。我还在各章节包括了这些地址,每一个地址都适用于各章节讨论的内容。在本书附带光盘的“Resource Links”文件夹名为Appendix.htm的文件,会找到附录的拷贝。(要了解在计算机上安装Appendix.htm的信息,参见光盘上的Readme文件。)你可以通过在Web浏览器打开Appendix.htm文件并单击链接来访问任意一个Web站点,而不必在浏览器输入地址。提示 你可能想要在Web上访问下列XML信息站点以便补充从本书学到的内容。W3C在www.w3.org/为Web创作人员提供了各种信息、标准和服务。Microsoft Developer Network(微软开发商网络,MSDN)在http://msdn.microsoft.com/xml/ default.asp提供了Microsoft产品所支持的、有关XML的大量信息。http://www.oasis-open.org/cover/的在线参考书《The XML Cover Page》包括了有关XML和其他标记语言的综合信息。循序渐进学习XML和Internet Explorer 尽管本书提供的大部分技术都基于公开的标准,并且能够与大量浏览器一起协同工作,但是本书是专门为Microsoft Internet Explorer 5.0~5.5编写的。本书附带的光盘包括Internet Explorer 5.01。因此,你可以使用这张光盘上提供的浏览器软件显示本书使用这些技术创建的任意XML文档。提示 可以从http://www.microsoft.com/windows/ie下载最新的Internet Explorer 5.5。在整本书,Internet Explorer 5指的是Microsoft Internet Explorer 5.0~5.5。当某些信息只适用于某个Internet Explorer版本时,会及时指出,例如Internet Explorer 5.01或Internet Explorer 5.5。本书介绍的所有特性和技术都可以用于Internet Explorer 5.5。少数几种特性是第一次出现在版本5.5,因此无法用于以前的版本。我将清楚地标出只适用于Internet Explorer 5.5的那些特性。环境需求下面是使用本书及其附带光盘的基本硬件和软件需求: ?要访问本书附带的光盘,并安装包括在光盘的Internet Explorer软件,需要一台运行Microsoft Windows并安装有一台CD-ROM驱动器的计算机。可以使用Windows 95、Windows 98、Windows NT 4.0(带有Service Pack3或更高版本)、Windows 2000,或者任意更高版本的Windows。 ?选择“Install Example Code And Resource Links”安装选项大约需要1MB硬盘空间。 ?要查看本书引用的Web站点,需要连接到Internet。不过,成功地使用本书不需要查看这些站点,因此Internet连接是可选的。本书的目的是介绍XML,因此不需要事先对XML本身有所了解。不过,本书介绍的几种有关显示XML文档的技术需要使用下列一种或多种Web创作语言:HTML、动态HTML(DHTML)和Microsoft JScript(普通JavaScript脚本语言的Microsoft版本)。尽管本书在例子介绍了这些语言的特性,但是了解这些语言的一些基本知识仍然有用。提示 要了解在Internet Explorer 5使用HTML和DHML的信息,请访问MSDN提供的Web站点:http://msdn.microsoft.com/workshop/author/default.asp。要阅读正式的HTML规范,参见W3C提供的Web站点:http://www.w3.org/TR/REC-html40/。在也是由MSDN提供的站点http://msdn.microsoft.com/workshop/c-frame.htm#/workshop/languages/jscript/ handling.asp和http://msdn.microsoft.com /scripting/default.htm?/scripting/jscript/default.htm,包括完整的JScript信息,也包括初学者的教程。使用附带的光盘附带的光盘提供了下列有价值的资源,以便对本书的信息进行补充: ?本书带有编号的程序清单的源文件拷贝。这些程序清单(例如,第2章的程序清单2-1)提供了XML文档、样式表,和用来显示XML文档的HTML页的例子。在引入带有编号的程序清单时,也会同时给出它在光盘对应文件的名称。(例如,程序清单2-1在文件Inventory.xml。)所有这些文件都在附带光盘的“Example Code”文件夹。 ?所有在XML文档示例显示的图形文件。这些文件包含在与程序清单文件相同的光盘文件夹(Example Code)。 ?Web页文件Appendix.htm附录的拷贝。该文件在光盘上的“Resource Link”文件夹。 ?Internet Explorer 5.01版。当把CD-ROM插入驱动器时,附带的光盘会自动启动安装。如果计算机不支持自动启动,就使用Windows资源管理器显示光盘的内容,并双击根文件夹的StartCD.exe。这两种方法都可以打开欢迎屏幕。欢迎屏幕上显示了阅读Readme文件、安装示例代码和资源链接,安装Microsoft Internet Explorer 5.0,浏览光盘内容,或链接到Microsoft Press支持的Web站点等选项。一旦选择了一个选项,只要按照屏幕上显示的指示操作即可。怎样与作者联系你可以访问我的Web站点:http://ourworld.compuserve.com/homepages/mjy。那里有对本书的更正、读者的问题以及答案,获取有关XML进一步帮助的资源及相关技术,我的一些其他书籍的介绍和附加的信息。你可以给我发e-mail,地址是mjy@compuserve.com。欢迎你的意见和反馈信息。尽管我很少有时间回答那些需要深入研究的问题,但是如果你的问题我能够回答,那么我将会尽力回复。 Microsoft Press支持信息我尽了最大的努力保证本书和附带光盘内容的准确性。Microsoft Perss通过万维网上的http://mspress.microsoft.com/support/提供了对书籍的更正。如果你对本书或者它所附带的光盘有意见、问题或想法,请通过e-mail把它们发送到Microsoft 出版社: MSPinput@Microsoft.com 或者把信邮寄到: Microsoft Press Attn: XML Step by Step Editor One Microsoft Way Redmond, WA 98052-6399 请注意,产品支持不是通过上述地址提供的。英文原书书号:ISNB0-7356-1020-7 英文原书名,XML Step by Step .

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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