XML 编程与应用教程811章

上传人:仙*** 文档编号:30068363 上传时间:2021-10-09 格式:PPT 页数:64 大小:384KB
收藏 版权申诉 举报 下载
XML 编程与应用教程811章_第1页
第1页 / 共64页
XML 编程与应用教程811章_第2页
第2页 / 共64页
XML 编程与应用教程811章_第3页
第3页 / 共64页
资源描述:

《XML 编程与应用教程811章》由会员分享,可在线阅读,更多相关《XML 编程与应用教程811章(64页珍藏版)》请在装配图网上搜索。

1、第第8章章 XML DOM编程模型编程模型目标l理解DOM模型l解析XML文档,生成文档对象l操纵DOM模型的对象、接口、属性、方法8.1 文档对象模型概述 DOM(Document Object Model)定义了文档的逻辑结构和访问、操纵文档的方法。它为XML、HTML提供了应用程序接口API。 DOM中的对象允许开发者从文档中读取、搜索、修改、增加和删除数据它们为文档导航提供了标准的功能定义,并且操纵XML文档的内容和结构。 DOM提供的对象和方法可以和任何编程语言(java、c+、VB)一起使用,也可以与VBScript、JavaScript脚本语言一切使用。8.2 XML解析器 DO

2、M SAX JDOM DOM4J8.3 DOM解析树l 最常见的节点类型: 元素:元素是元素:元素是 XML 的基本构件。元素可以有其它元素、文本的基本构件。元素可以有其它元素、文本节点或两者兼有来作为其子节点。元素节点还是可以有属性的节点或两者兼有来作为其子节点。元素节点还是可以有属性的唯一类型的节点。唯一类型的节点。 属性:属性节点包含关于元素节点的信息,但实际上,不认为属性:属性节点包含关于元素节点的信息,但实际上,不认为它是元素的子节点它是元素的子节点 文本:文本节点是:文本。它可以包含许多信息或仅仅是空白。文本:文本节点是:文本。它可以包含许多信息或仅仅是空白。 文档(根节点):文档

3、节点是整个文档中所有其它节点的父节文档(根节点):文档节点是整个文档中所有其它节点的父节点。点。(根节点不等于根元素节点!根节点不等于根元素节点!) l 较不常见的节点类型:CDATA、注释、处理指令XML文档 曹雪芹曹雪芹 红楼梦红楼梦 孙更新孙更新 XML实用大全实用大全 DOM解析树文本authorbooksbookbookauthortitletitle曹雪芹红楼梦孙更新孙更新XML实用大全实用大全文档(根节点)根元素节点元素MSXML解析XML文档的过程8.4 MSXML DOM模型结构 XML DOM提供让你遍历、读取和操纵XML文档的结构和内容,其主要对象和方法有: DOMDoc

4、ument对象:描述全部文档映射表,它包括文档所有信息。 IXMLDOMNode对象:描述文档里的节点,此节点可以是元素、属性、处理指令、文本或其他存储在XML文档里的信息。 IXMLDOMNodeList对象:描述节点对象的集合,可以使用该对象遍历这个集合,可以用数值访问。 IXMLDOMParseError对象:用来验证XML文档对于DTD、XSD的正确性。8.4.1 DOMDocument对象 DOMDocument 对象表示DOM树的最顶层节点,它实现了使用XML文档所需的所有方法: createElement(elementname) :创建以元素名命名的节点,但名称空间受限制的元素

5、除外 createAttribute(attributename):创建以属性名命名的属性节点 createComment(text):创建注释节点 createTextNode(text):创建正文节点 createNode(type,name,namespace-URI):建节点,type可以是1(元素)、2(属性), 3(文本节点),name为节点名,namespace-URI为名称空间。 getElementsByTagName(elementName):elementName代表要搜索的元素,返回IXMLDOMNodeList对象包含的节点集合。 Load(XMLdocment):有

6、2种方法可以载入XML文件。例docobj.load(“http: product.xml”) LoadXML(string):把成形的代码或整个XML文档载入DOMDocument对象中。 transformNode(style sheet object):把样式表加到XML文档上处理节点,返回转换结果。 appendChild(child node):把用createNode()或createElement()方法创建的节点或元素,追加到树形结构上。 Save(destination):把DOMDocument对象保存到指定目的地。例docobj.save(“http:/www. asyn

7、c:指定是否允许异步加载,取布尔值。如果为true,即使文档仍在载入,脚本也会继续执行;为false时,脚本会等待文档全部被载入后才会执行代码。一般用 docobj.async=false childNodes:返回属于父节点的子节点。其值是IXMLDOMNodeLisT类型。例 var firstelem=docobj.childNodes.item(0) documentElement:包含用DOMDocument表示的XML文档的根元素。例 var root=docobj.documentElement firstChild:返回父元素的第一个子节点,该属性是只读的。例 var firs

8、telem=firstChild lastChild:返回父元素的最后一个子节点。例var firstelem=lastChild parseError:该属性返回一个包含大部分最近产生的错误信息的对象。例 var error=docobj.parseError readyState:返回文档的状态,1正在载入中;2已下载;3对话;4结束。例 var stateinfo=docobj.readyState xml :返回一个节点及其子节点的XML表示。例document.write(docobj.xml) validateOnPage:指定解析器是否在解析XML文档时验证其合法性。例docob

9、j.validateOnPage=true8.4.2 IXMLDOMNode对象 IXMLDOMNode对象代表XML文档树形结构中的一个单个节点,它可能包含其他子节点的元素。使用方法有: appendChild(newChild):把newChild加到使用节点的子节点的末尾。 insertBefore(newNode,refNode):把newNode插在已存节点refNode之前。 removeChild(nodeName):删除指定节点。 replaceChild(newNode,oldNode):替换节点。 hasChildnode():查找子节点。 cloneNode(boolea

10、n):克隆节点,如为true,返回IXMLDOMNode对象的完全克隆。IXMLDOMNode属性 nodeName: 返回节点名称。 nodeType: 返回节点类型。 Nodevalue: 返回节点包含的文本。 childNodes: 返回节点的子节点数。 firstChild: 返回该节点的第一个子节点。 lastChild: 返回该节点的最后一个子节点。 Text: 返回在IXMLDOMNode对象中的文本。 Xml: 返回IXMLDOMNode对象的代码。8.4.3 IXMLDOMNodelist对象 为了操纵XML文档, IXMLDOMNodelist对象提供存在于XML文档中的节

11、点集合。节点集对象的改变立即反映到节点集上。 IXMLDOMNodelist对象也可以遍历节点集。 方法1:item(number),返回指定数值对应位置的节点。 方法2:nextNode(),返回节点集的下一个节点。 使用IXMLDOMNodelist属性length可以获得节点集中节点的个数。8.4.4 IXMLDOMParseError对象 IXMLDOMParseError对象返回大部分最近发生的解析错误。 IXMLDOMParseError对象提供各种属性来检索错误,如错误代码、错误内容、引起错误的行代码等。 errorCode: 该属性包含长整形错误代码,没有错误,返回0。 rea

12、son: 该属性包含解释错误原因的字符串。 Line: 该属性存储代表错误行数的长整形。 linePos: 该属性存储代表错误位置的长整形。 srcText: 该属性包含引起错误的那一行字符串。8.5 DOM编程步骤 DOM编程第一步就是确保机器上安装了Microsoft XML 4.0(或更高版本)。 在MSXML解析器的使用过程中,我们可以使用文档中的CreateElement方法创建一个节点来装载和保存XML文件,也可以通过Load或者是 LoadXML方法从一个指定的URL来装载一个XML文档。 Save方法是用来把文档保存到一个指定的位置。Save方法中参数destination用来

13、表示需要被保存的对象的类型,对象可以是一个文件、一个ASP Response方法、一个XML文档对象,或者是一个能够支持持久保存(persistence)的客户对象。使用JAVASCRIPT编写生成DOM文档对象的方法var xmlDoc=new ActiveXObject(Msxml2.DOMDocument.4.0);xmlDoc.async=false;xmlDoc.load(candidate.xml); 生成生成XML文档对象文档对象xmlDoc,xmlDoc中包含中包含XML文档中所有元素和节点文档中所有元素和节点 装载装载XML文档完毕后才开始处理下一步骤文档完毕后才开始处理下一

14、步骤 将将XML文档装载到文档对象中,在内存中形成文档对象树文档装载到文档对象中,在内存中形成文档对象树8.6 本章小结 DOM为处理X M L文档提供了可编程的方法。 DOM允许我们在客户端和服务器端修改X M L数据结构。 DOM为数据库之间的信息传递提供了理想的机制。 DOM在不同的平台上可以有不同的实现方式。 DOM是内存密集型操作,它不适于处理大型X M L文件。第9章 Java中的XML编程9.1 使用DOM解析XML 解析器工厂类DocumentBuilderFactory DocumentBuilderFactory类是DOM中的解析器工厂类,开发这要使用DOM操作XML首先必

15、须需要建立一个解析器工厂实例,以便利用这个工厂类实例来获得一个具体的解析器对象。 示例代码如下: DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 解析器类DocumentBuilder DocumentBuilder类是DOM中的解析器类,开发者可以使其从XML文档获取DOM文档实例。当获得一个解析器工厂类对象后,使用它的静态方法newDocumentBuilder()将可以获得一个DOM解析器对象,示例代码如下: DocumentBuilder db = dbf.newDocumentBuilder();文

16、档树模型Document3-1 Document对象代表了一个XML文档的树模型。所有其它的Node,都以一定的顺序包含在Document对象之内,排列成一个树形的结构,以后所有的对XML文档的操作,都与解析器无关,直接在这个Document对象上进行操作就可以了。文档树模型Document3-2解析器类DocumentBuilder的parse()方法接受一个XML文档名作为输入参数,将返回一个Document实例 示例代码:Document doc = db.parse(message.xml);此外还可以把要解析的XML文档转化为输入流,然后将输入流对象作为parse()方法的输入参数,

17、以便DOM解析器解析它,示例代码如下: InputStream is=new FileInputStream(message.xm); Document doc=db.parse(is);使用Document对象的getElementsByTagName()方法,可以得到一个NodeList对象,一个Node对象代表了一个XML文档中的一个标签元素,而NodeList对象所代表的是一个Node对象的列表。 下面示例代码得到的是XML文档中所有标签对应的Node对象的一个列表。 NodeList nl = doc.getElementsByTagName(message);文档树模型Docume

18、nt3-3 除了查找节点工作之外,Document还包含了创建其它节点的方法,比如createAttribut()用来创建一个Attr对象。它所包含的主要的方法有:createAttribute(String):用给定的属性名创建一个Attr对象,并可在其后使用setAttributeNode方法来放置在某一个Element对象上面。createElement(String):用给定的标签名创建一个Element对象,代表XML文档中的一个标签,然后就可以在这个Element对象上添加属性或进行其它的操作。 createTextNode(String):用给定的字符串创建一个Text对象,Te

19、xt对象代表了标签或者属性中所包含的纯文本字符串。如果在一个标签内没有其它的标签,那么标签内的文本所代表的Text对象是这个Element对象的唯一子对象。 getElementsByTagName(String):返回一个NodeList对象,它包含了所有给定标签名字的标签。 getDocumentElement():返回一个代表这个DOM树的根节点的Element对象,也就是代表XML文档根元素的那个对象。节点列表类NodeList 节点列表类NodeList就是代表了一个包含一个或者多个Node的列表。可以简单的把它看成一个Node的数组,可以通过下列方法来获得列表中的元素: GetLe

20、ngth():返回列表的长度。 Item(int):返回指定位置的Node对象。 可以使用NodeList对象的item()方法来得到列表中的每一个Node对象 节点类Node2-1Node对象代表了文档树中的一个抽象的节点。Node对象所包含的主要的方法有:appendChild(org.w3c.dom.Node):为这个节点添加一个子节点,并放在所有子节点的最后,如果这个子节点已经存在,则先把它删掉再添加进去。 getFirstChild():如果节点存在子节点,则返回第一个子节点,对等的,还有getLastChild()方法返回最后一个子节点。 getNextSibling():返回在D

21、OM树中这个节点的下一个兄弟节点,对等的,还有getPreviousSibling()方法返回其前一个兄弟节点。 getNodeName():根据节点的类型返回节点的名称。 getNodeType():返回节点的类型。 getNodeValue():返回节点的值。 节点类Node2-2hasChildNodes():判断是不是存在有子节点。 hasAttributes():判断这个节点是否存在有属性。 getOwnerDocument():返回节点所处的Document对象。 insertBefore(org.w3c.dom.Node new,org.w3c.dom.Node ref):在给定

22、的一个子对象前再插入一个子对象。removeChild(org.w3c.dom.Node):删除给定的子节点对象。replaceChild(org.w3c.dom.Node new,org.w3c.dom.Node old):用一个新的Node对象代替给定的子节点对象。要提取message标签内的内容,通常会使用Node对象的getNodeValue()方法:元素类Element Element对象所包含的主要的方法有:getElementsByTagName(String):返回一个NodeList对象,它包含了在这个标签中其下的子孙节点中具有给定标签名字的标签。getTagName():返

23、回一个代表这个标签名字的字符串。 getAttribute(String):返回标签中给定属性名称的属性的值。在这儿需要主要的是,应为XML文档中允许有实体属性出现,而这个方法对这些实体属性并不适用。这时候需要用到getAttributeNodes()方法来得到一个Attr对象来进行进一步的操作。 getAttributeNode(String):返回一个代表给定属性名称的Attr对象。属性类Attr Attr对象代表了某个标签中的属性。 Attr继承于Node,但是因为Attr实际上是包含在Element中的,它并不能被看作是Element的子对象,因而在DOM中Attr并不是DOM树的一部

24、分 Attr其实是被看作包含它的Element对象的一部分,它并不作为DOM树中单独的一个节点出现。这一点在使用的时候要同其它的Node子对象相区别。9.2 使用SAX解析XMLSAX是事件驱动的,SAX解析的方式非常类似流媒体的分析处理方式,这种解析模式能够随着文档的读入过程立即开始解析,而不需要等待文档中所有的数据被读入结束后再开始解析。适合于内存较小的应用场合。除此之外,应用程序甚至不必解析整个文档,它可以在某个条件得到满足时停止解析后面的文档。SAX解析XML文档的基本原理为:首先获得一个实现SAX接口的解析器,然后编写一个符合SAX标准的处理器类,并且把这个类注册到刚生成的解析器,然

25、后开始解析XML文件,解析器会把XML文档作为一个流读出来,并将文件流转换成一个事件流,最后根据事件调用定义在解析器里的事件处理方法对流中的事件做出响应。SAX的事件驱动模型 Java SAX的API SAXParserFactory:一个根据系统属性生成parser实例的解析器工厂类。其功能与DOM中的DocumentBuilderFactory类相同。SAXParser:一个定义了不同种类的parser()方法的接口。SAXParser是一个与SAX事件通讯的处理器,可以使用自定义的handler来处理事件。SAXReader:SAXParser中包含了一个SAXReader,当要使用SA

26、XReader的getXMLReader()方法的时候就需要配置它。DefaultHandler:类DefaultHandler实现了ContentHandler、ErrorHandler、DTDHandler和EntityResolver接口,通过继承这个类,我们可以实现解析XML文档的所有任务。ContentHandler:当遇到XML文档中的标签时,就将会调用这个接口中的startDocument、endDocument、startElement和 endElement 方法。当遇到XML文档中的元素内容时,将调用characters方法。ErrorHandler:当遇到不同类型的错误的

27、时候分别调用相应的错误方法,这些方法包括:error、fatalError和warning等。DTDHandler:该接口所定义的方法只用在处理DTD信息的时候。EntityResolver:该接口中的resolveEntity方法只在遇到URI标识数据的时候才调用。9.3 使用JDOM解析XML JDOM是一个开源项目,它基于树型结构,利用纯Java的技术对XML文档实现解析、生成、序列化以及多种操作。JDOM 直接为Java编程服务。它利用更为强有力的Java语言的诸多特性(方法重载、集合概念以及映射),把SAX和DOM的功能有效地结合起来。 JDOM中的类主要包括SAXBuilder、D

28、OMBuilder、Document、XMLOutputter、Element和Attribute等 JDOM的API 2-1SAXBuilder类 JDOM中的SAXBuilder类会使用SAX来建立一个JDOM的解析树。它可以通过build()方法由指定的输入数据流建立一个文件,返回一个Document对象。DOMBuilder类 JDOM中的DOMBuilder类会使用DOM来建立一个JDOM的解析树。它可以通过build()方法由指定的输入数据流建立一个文件,返回一个Document对象。Document类 Document类的一个实例用来描述一个XML文档。这个文档类是轻量级的,它可

29、以包括文档类型、处理指令对象、根元素和注释对象等内容。JDOM的API 2-2 XMLOutPutter类 将XML文档写入一个特定的OutputStream流中。其中output()方法用于将XML文档输出到指定的位置,既可以是标准的输出System.out,也可以是File对象或者OutputStream对象。Element类 在JDOM中,XML元素就是Element类的实例。Element类有两种主要的操作,一个是浏览元素树,另一个是移动元素。Attribute类 可以使用Element类的getAttribute()方法来取得一个元素的属性,该方法会返回一个Attribute对象。A

30、ttribute类提供了getValue()方法,它将会以字符串的形式返回一个属性值。例如通过下面代码可以得到name元素的属性值:9.4 本章小结 本章主要介绍了Java XML程序设计的基础知识,详细讲解了DOM编程、SAX编程和JDOM编程的基本流程和常用方法第10章 .NET中的XML编程10.1 使用流模式处理XML 使用.NET框架的System.XML名称空间中包含的XMLTextReader类从XML文件中快速读取数据。 通过XmlTextReader类中的属性NodeType,可以知道其节点的节点类型。 XmlNodeReader 可提供对 XmlNode 中的 XML 数据

31、的快速、非缓存和只进的访问。它能够读取整个 XML DOM 树,或只从子树读取。 使用XmlTextWriter类创建XML文件 10.2 使用DOM处理XML .NET Framework中DOM类的继承结构使用DOM加载及保存XML数据首先,初始化XmlDocument对象,例如: XmlDocument doc = new XmlDocument();然后,调用Load()方法加载文件、流、XmlReader对象或TextReader对象中的XML数据,例如: doc.Load(C:BookData.xml); 或者调用LoadXml()方法加载字符串中的XML数据,例如: doc.Lo

32、adXml( + Pride And Prejudice + ); 使用XmlDocument对象中的Save方法可以将XML数据保存到一个XML文件中或是一个流对象、一个TextWriter对象、一个XmlWriter对象中。 Save() 方法的语法如下: XmlDocument.Save(filename | Stream | TextWriter | XmlWriter)使用DOM浏览XML 创建并使用一个XmlNode对象在XmlDocument对象中浏览、创建或修改节点。 通过使用XmlNode对象及其派生类的属性,就可以返回有关XML源文档内容的信息。 要想引用XmlDocume

33、nt对象中的单个节点,可以使用调用SelectSingleNode()函数的方法或使用XMLNode类的浏览属性。 可以创建XmlElement对象来解析XmlDocument对象中的元素和属性的信息。 XmlNodeList类表示XmlNode的有序集合 可以使用XmlNamedNodeMap对象保存一个元素节点的属性集合 创建新节点步骤:1、从XML数据源创建和加载XmlDocument对象2、在原始文档中定位新节点的插入位置3、创建新节点,此节点可以使任何类型的节点。4、把新节点添加到XmlDocument对象中添加节点时调用的方法 XmlNode.AppendChild添加到当前节点的

34、子节点列表的末尾 XmlNode.InsertBefore添加到紧接着插入指定的引用节点之前 XmlNode.InsertAfter添加到紧接着插入指定的引用节点之后修改和删除节点 首先定位要操作的节点 通过设置XmlElement对象的 InnerText属性或通过调用XmlNode.ReplaceChild()方法替换整个节点的方式来修改节点值 也可以通过调用XmlElement.SetAttribute()方法来修改属性节点。 要删除XmlDocument对象中的节点,可以通过调用XmlNode.RemoveChild()方法来进行实现元素的移除, 如果要删除属性的话,我们可以通过调用X

35、mlElement.RemoveAttribute()方法来实现属性节点的移除 也可以通过调用XmlNode.RemoveAll()方法移除所有的子节点, 10.3 ADO.NET与 XML ADO.NET是Microsoft ActiveX Data Object(ADO,ActiveX数据对象)的改进。它是一个基于标准的程序设计模型,用于创建分布式的、数据共享的应用程序。 ADO.NET 是一系列与数据操作相关的类。它们提供:比 ADO 更灵活的数据访问机制;为非连接环境设计的系统架构;支持 XML 的编程对象模型;一系列用来在 .NET 架构中访问数据的类、结构以及枚举器。 DATASE

36、T是分离存储和使用关系型数据的基础,它是一个容器,可以包含一个或多个数据表;而XML是DATASET中数据的标准格式。 XML与DATASET的关系 将XML数据加载到DataSet对象中 使用ReadXML从一个文件或者一个流加载数据到数据集 简化语法Dataset对象.ReadXML(Stream | FileName | TextReader | XMLReader, XMLReadMode mode)将XML数据加载到DataSet对象中(续) XMLReadMode 定义读取的内容 ReadSchema如果数据集中已经存在一个结构,那么在内嵌结构定义中的任何新表都会被添加到数据集如果

37、内嵌结构定义中的表在数据集中已经存在,会抛出异常如果数据集不包含结构定义并且没有内嵌结构定义,则不加载任何数据 IgnoreSchema忽略内嵌结构定义将复合数据集结构的数据加载 InferSchema忽略内嵌结构定义,根据XML文件推断一个新的结构,如果数据集中已经存在结构定义,将新结构追加到数据集,然后加载数据将XML数据加载到DataSet对象中(续) DiffGram读DiffGram并将当前结构定义的数据添加到数据集 Fragment读取XML片断并将数据追加到适当的数据集表,主要用于读取直接从SQL Server 产生的XML数据 Auto如果数据集包含一个结构定义或者XML文件包

38、含一个内嵌的结构定义,使用ReadSchema选项如果数据集与XML文档都不包含一个结构定义,使用InferSchema选项 考虑到性能问题,不要使用Auto选项将 DataSet 信息写入文件或流 使用WriteXml方法将数据集的数据写入到文件或流 使用WriteXml()方法的语法 Dataset对象对象.WriteXml (String filename | Stream stream | XmlWriter writer | TextWriter writer, XmlWriteMode mode )将 DataSet 信息写入文件或流(续) XmlWriteMode 指定保存的内容

39、 IgnoreSchema仅包含数据集数据的 XML文件,不包括结构定义,如果数据集为空,那么不创建文件 WriteSchema仅包含数据集结构定义的 XML 文件,如果数据集不包含结构信息,则不创建文件 DiffGram创建一个包含数据集原始数据与当前数据的XML 文件使用DATASET读/写XML模式 1、ReadXmlSchema 方法方法作用:将作用:将 XML 模式读入模式读入 DataSet语法:语法:Dataset对象对象.ReadXMLSchema (Stream | FileName | TextReader | XMLReader)2、WriteXmlSchema 方法方法

40、作用:将数据集的结构定义写入文件或流作用:将数据集的结构定义写入文件或流语法:语法:Dataset对象对象.WriteXmlSchema ( String filename | Stream stream | TextWriter writer | XmlWriter writer) DataSet 对象基于 XML 的其他方法 1、使用数据集的GetXmlSchema方法 作用:以字符串的形式返回 DataSet 的 XML 表示形式的 XSD,语法如下: Dataset对象. GetXmlSchema() 2、使用数据集的 GetXml 方法 作用:以字符串的形式返回 XML 形式的数据,

41、语法如下: Dataset对象. GetXml() 10.4 本章小结 使用流模式处理XML 使用DOM遍历XML、创建新节点以及修改和删除节点 使用DataSet对象访问XML第11章 基于XML的在线相册11.1 系统功能分析 账号管理:将用户的账号信息存储于系统中,管理员登录后可以管理用户,例如普通用户登录、注册账号、修改账号信息等。相片管理:这是系统的核心功能,用户登录后可以上传相片和浏览相片,并可以对相片发表评论。留言管理;用户登录后可以执行添加留言和删除留言的操作。在线相册系统主要具备以下主要功能:在线相册系统主要具备以下主要功能:系统功能模块图 11.2 系统XML文件设计 根据系统的设计要求和模块功能分析 ,需要创建如下XML文件: users.xml:用来保存管理员和普通用户的账号信息 pictures.xml:用来保存用户上传的相片信息 messages.xml:用来保存用户的留言信息 comments.xml:用来保存用户对相片的评论信息 11.3 账户管理模块的设计 管理员登录 注册账号 修改账号信息11.4 相片管理模块的设计 上传相片 浏览相片 相片评论11.5 留言管理模块的设计 添加留言 删除留言11.6 本章小结 系统功能分析 系统流程设计 系统XML文件设计 各功能模块具体实现

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!