XML編程與應用教程第二版上機答案_第1頁
XML編程與應用教程第二版上機答案_第2頁
XML編程與應用教程第二版上機答案_第3頁
XML編程與應用教程第二版上機答案_第4頁
XML編程與應用教程第二版上機答案_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

上機題

1、

<?xmlversion=,'1.0Mencoding=,,gb2312"?>

<book>

<title>XML指南v/title>

<chapter>XML入門簡介

<para>什么是HTML</para>

<para>什么是XML</para>

</chapter>

<chapter>XML語法

<para>XML元素必須有結束標簽</para>

<para>XML元素必須正確的嵌套</para>

</chapter>

</book>

2、

<?xmlversion="1.0"encoding="gb2312U?>

<employees>

<employee>

<id>l</id>

<name>張三</name>

<age>32</age>

vsex>男</sex>

〈address〉上?!?address〉

</employee>

<employee>

<id>2</id>

<name>李四</name>

<age>22</age>

vsex>男</sex>

〈address〉北京〈/address〉

</employee>

</employees>

3、

<?xmlversion="1.0nencoding=Mgb2312U?>

<students>

<student>

<number>1</number>

<name>tom</name>

<score>100</score>

</student>

<student>

<number>2</number>

<name>mary</name>

<score>98</score>

</student>

</students>

第三章

上機題

1、

<?xmlversion二"1.0"encoding="GB2312”?>

<!ELEMENT學生名冊(學生+)>

^ELEMENT學生(姓名,性別,年齡)〉

々ELEMENT姓名(#PCDATA)>

v!ELEMENT性別(#PCDATA)>

<!ELEMENT年齡(#PCDATA)>

VATTLIST學生學號ID#REQUIRED>

2、

<?xmlversion=H1.0nencoding="UTF-8”?>

<NEWSPAPER>

<ARTICLEAUTHOR=''&NEWSPAPER;"EDITOR="&PUBLISHER;''DATE="2009-6-1"EDITION

=,,©RIGHT;,,>

<HEADLINE>EnvironmentProtection</HEADLINE>

<BYLINE>Materialwaste</BYLINE>

<LEAD>&PUBLISHER;</LEAD>

<BODY>

itmeansthewasteofsubstanceorthingsfromwhichsomethingelsecanbemade.Forexample,people

throwawaytheusedmetalproductsandbuyanewone,sotheoldmetalwasteaccumulates.Atlast,they

becomewaste.Forexample,whenpeoplefinishreadingnewspaper,thepaperwillbecomewaste.Whenthe

glassisbroken,italsobecomeswaste.Nobodywantstouseabrokenwindowordrinkwithabrokenglassor

wearapairofbrokenglasses.Onceitisbroken,itbecomeswaste.Therateofusingplasticsisincreasingday

byday.Peopleuseplasticbagsbecausetheyareconvenient.Whentheygethome,theythrowtheplasticsway,

payingnoattentiontotheenvironment.Themoreconvenienceplasticsbringstous,themoreplasticwasteis

produced.Thisiscalled“whitepolIution^^asmostplasticsarewhite.Someofourproductsweuseeveryday

aremadeofrubber,justlikethetyresandthebottompartofourshoes.It'struethatrubberplaysanimportant

roleinourlife.However,italsobringsussometroublewhenithasbeenusedforalongtimeandbecomesold.

Theoldtyresbecomewastebecauseitcan'tbreakdownbynature.Thisisreallyabigproblem.

</BODY>

<NOTES>

Protectingtheenvironmentisnotoneperson'sduty;itdependsonallofus.Whatcanwedo?Maybea

dozen..

Inaword,usewhatcanreuseasmuchaspossible.Remember,environmentprotectionisnotone'sduty!

</NOTES>

</ARTICLE>

</NEWSPAPER>

3、

<?xmlversion="1.0Hencoding=MUTF-8,'?>

<!DOCTYPENEWSPAPER[

<!ELEMENTNEWSPAPER(ARTICLE+)>

<!ELEMENTARTICLE(HEADLINE,BYLINE,LEAD,BODY,NOTES)>

<!ELEMENTHEADLINE(#PCDATA)>

<!ELEMENTBYLINE(#PCDATA)>

<!ELEMENTLEAD(#PCDATA)>

<!ELEMENTBODY(#PCDATA)>

<!ELEMENTNOTES(#PCDATA)>

<!ATTLISTARTICLEAUTHORCDATA#REQUIRED>

<!ATTLISTARTICLEEDITORCDATA#IMPLIED>

<!ATTLISTARTICLEDATECDATA#IMPLIED>

<!ATTLISTARTICLEEDITIONCDATA#IMPLIED>

<?ENTITYNEWSPAPERMVervetLogicTimes”>

<!ENTITYPUBLISHERnVervetLogicPress”>

<!ENTITYCOPYRIGHT'?Copyright1998VervetLogicPress”,

]>

<NEWSPAPER>

<ARTICLEAUTHOR=''&NEWSPAPER;''EDITOR="&PUBLISHER;"DATE=”2009?6?1"EDITION

二"©RIGHT;”>

<HEADLINE>EnvironmentProtection</HEADLINE>

<BYLINE>Materialwaste</BYLINE>

<LEAD>&PUBLISHER;</LEAD>

<BODY>

itmeansthewasteofsubstanceorthingsfromwhichsomethingelsecanbemade.Forexample,people

throwawaytheusedmetalproductsandbuyanewone,sotheoldmetalwasteaccumulates.Atlast,they

becomewaste.Forexample,whenpeoplefinishreadingnewspaper,thepaperwillbecomewaste.Whenthe

glassisbroken,italsobecomeswaste.Nobodywantstouseabrokenwindowordrinkwithabrokenglassor

wearapairofbrokenglasses.Onceitisbroken,itbecomeswaste.Therateofusingplasticsisincreasingday

byday.Peopleuseplasticbagsbecausetheyareconvenient.Whentheygethome,theythrowtheplasticsway,

payingnoattentiontotheenvironment.Themoreconvenienceplasticsbringstous,themoreplasticwasteis

produced.Thisiscalled“whitepollution^^asmostplasticsarewhite.Someofourproductsweuseeveryday

aremadeofrubber,justlikethetyresandthebottompartofourshoes.Ifstruethatrubberplaysanimportant

roleinourlife.However,italsobringsussometroublewhenithasbeenusedforalongtimeandbecomesold.

Theoldtyresbecomewastebecauseitcan'tbreakdownbynature.Thisisreallyabigproblem.

</BODY>

<NOTES>

Protectingtheenvironmentisnotoneperson'sduty;itdependsonallofus.Whatcanwedo?Maybea

dozen..

Inaword,usewhatcanreuseasmuchaspossible.Remember,environmentprotectionisnotone'sduty!

</NOTES>

</ARTICLE>

</NEWSPAPER>

第四章

上機題

1、

<?xmlversion=n1.0nencoding二"UTF-8”?>

<xs:schemaxmlns:xs=',/2001/XMLScheman>

<xs:elementname=HOrdersutype=Hord'7>

<xs:complexTypename="ord">

<xs:elementname="Order”〉

<xs:complexType>

<xs:sequence>

<xs:elementname=nnamentype=uxs:string"/>

<xs:elementname=Mnumber"type="numgs'7>

<xs:elementname="cityntype=nxs:string"/>

<xs:elementname="zip"type="zipgs"/>

</xs:sequence>

<xs:attributename="orderID"type="idgs"use=nrequired"/>

<xs:attributename="orderDate”type="xs:date"use="optional”/>

</xs:complexType>

</xs:element>

</xs:complexType>

<xs:simpleTypename="zipgs”>

<xs:restrictionbase=uxs:string”>

<xs:lengthvalue="6”/>

<xs:patternvakie="\d{6}'7>

</xs:restriction>

</xs:simpleType>

<xs:simpleTypename="idgs”>

<xs:restrictionbase=4€xs:string”>

<xs:lengthvalue_44v/>

<xs:patternvalue=44[A]{1}\d{3}7>

</xs:restriction>

</xs:simpleType>

<xs:simpleTypename=ttnumgs,,>

<xs:restrictionbase="xs:positivelnteger”>

<xs:maxlnclusivevalue=t499,7>

<xs:minlnclusicevalue="l'7>

</xs:restriction>

</xs:simpleType>

</xs:schema>

2、

<?xmlversion="1.0"?>

<xsd:schemaxmlns:xsd="http:〃/2001/XMLSchema”>

<xsd:attributename=,,PRODID"type=,'pid,7>

<xsd:simpleTypename=Mpidu>

<xsd:restrictionbase=,'xsd:stringn>

<xsd:patternvalue=n[P]{1}\d{3}n/>

</xsd:restriction>

</xsd:simpleType>

<xsd:elementname="PRODUCTDATA”type二"prdata”/>

<xsd:complexTypename=nprdatan>

<xsd:sequence>

<xsd:elementname=,'PRODUCTn>

<xsd:complexType>

<xsd:sequence>

<xsd:elementname="PRODUCTNAME"type="xsd:string"/〉

<xsd:elementname=uDESCRIPTIONntype=nxsd:string'7>

<xsd:elementname=uPRICEntype=,'xsd:positivelnteger,7>

<xsd:elementname=',QUANTITYMtype="xsd:nonNegativeInteger7>

</xsd:sequence>

<xsd:attributeref=nPRODIDuuse=nrequiredM>

</xsd:attribute>

<xsd:attributename=HCATEGORYntype=ncatMuse=Mrequired'7>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

<xsd:si9mpleTypename=ncat">

<xsd:restrictionbase=,'xsd:stringn>

<xsd:enumerationvalue="lbyM/>

<xsd:enumerationvalue="Book"/〉

</xsd:restriction>

</xsd:simpleType>

</xsd:schema>

3、

<?xmlversion=n1.0nencoding二"UTF-8”?>

<xs:schemaxmlns:xs二"/2001/XMLSchema">

<xs:elementname=nPURCHASEORDER'*type=Mpur'7>

<xs:complexTypename=upurn>

<xs:elementname="Order',>

<xs:complexType>

<xs:sequence>

<xs:elementname="DATE"type="xs:date'7>

<xs:elementname="PRODUCTNAME"type="xs:string''/>

<xs:elementname=,'SUPPLIERNAME"type=°xs:string"/>

<xs:elementname=nADDRESSHtype=uxs:string17>

<xs:elementname=nQUANTITY"type="xs:positivelnteger”/>

<xs:elementname="PRICEPERQTYtype="xs:positivelnteger'7>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:attributename=uORDERIDutype=nxs:string”use二"required"/>

<xs:attributename=nPRODID"type="xs:stringnuse="optional"/>

</xs:complexType>

</xs:schema>

第五章

上機題

1、

1)、

<?xmlversion=n1.0'*encoding="gb2312"?>

<xsl:stylesheetversion="1.0°xmlns:xsl="http:〃/1999/XSL/Transform”>

<xsl:templatematch=,7M>

<html>

<head>

<title>iT單信息〈/title〉

</head>

<body>

<h2align="center”〉訂單</h2>

<tableborder="r'cellpadding=MO"align=ucenter">

<tr>vth>名稱v/th><th>數(shù)量城市</th>vth>郵編v/th></tr>

<xsl:for-eachselect='7Orders/Order">

<tr>

<td><xsl:value-ofselect=,'name,7></td>

<td><xsl:value-ofselect=unumber'7></td>

<td><xsl:value-ofselect=ucity'7></td>

<td><xsl:value-ofselect=“zip

<//tr>

</xsl:foreach>

</table>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

2)、

<?xmlversion=n1.0nencoding=,,gb2312,'?>

<xsl:stylesheetversion="1.0°xmlns:xsl=n/1999/XSL/Transform">

<xsl:templatematch=,7">

<html>

<head>

訂單信息〈/title〉

</head>

<body>

<h2align="center”〉訂單v/h2>

<tableborder=u1ncellpadding=MOnalign=ucenter,'>

名稱v/th><th>數(shù)量</th><th>城市</th><th>郵編</th></tr>

<xsl:iftest=,7/Order[@orderID=*A002']">

<tr>

<td><xsl:value-ofselect=uname,7></td>

<td><xsl:value-ofselect="number'7></td>

<td><xsl:value-ofselect二"city"/>v/td>

<td><xsl:value-ofselect="zip'7></td>

</tr>

</xsl:if>

</table>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

3)、

<?xmlversion=,,1.0Mencoding=,,gb2312,'?>

<xsl:stylesheetversion=M1.0°xmlns:xsl="hltp:〃/1999/XSL/Transform">

<xsl:templatematch=Vn>

<html>

<head>

訂單信息

</head>

<body>

<h2align="center”〉訂單</h2>

<tableborder="1ucellpadding=HO"align="center,'>

名稱v/th>vth>數(shù)邕</th><th>城市郵編</th>v/tr>

<xsl:iftest=ncity[尸'北京T'>

<tr>

<td><xsl:value-ofselect=uname,7x/td>

<td><xsl:value-ofselect=unumber"/></td>

<td><xsl:value-ofselect=ucityn/x/td>

<td><xsl:value-ofselect="zip"/></td>

</tr>

</xsl:if>

</table>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

PRODUCTNAME

{font-family:Arial;

fbnt-size:20pt;

fbnt-weight:bold;

color:red;

display:block;

padding-top:6pt;

padding-bottom:6pt

)

PRICE,DESCRIPTION,QUANTITY

{font-family:Arial;

font-size:!Opt;

color:green;

display:block;

padding-top:2pt;

padding-bottom:2pt

<?xmlversion=,,1.0,,?>

<xsl:stylesheetxmlns:xsl="/l999/XSL/Transform"version=*'1.0n>

<xsl:templatematch=,7">

<xsl:for-eachselect=nPRODUCTDATA/PRODUCTH>

<xsl:choose>

<xskwhentest二"PRODUCTNAMEn>

<fontcolor=",red">

產(chǎn)品名:<xsl:value-ofselect="PRODUCTNAME"/><BR/>

</font>

</xsl:when>

<xsl:otherwise>

<fontcolor=ngreen">

描述:<xsl:value-ofselect="DESCRIPTION"/><BR/>

價格:<xsl:value-ofselect="PRICE"/><BR/>

現(xiàn)有量:<xsl:value-ofselect="QUANTITY"/><BR/><BR/>

</font>

</xsl:otherwise>

</xsl:choose>

</xsl:for-each>

</xsl:template>

</xsl:stylesheet>

第六章

上機題

打開IE瀏覽器,并在地址欄中輸入URL查詢字符串:

http://localhost/XMLTest?sql=select+:l:from+student+for+xml+RAW&root=root

http://localhost/XMLTest?sql=select+*from+student+for+xml+Auto&root=student

2、將數(shù)據(jù)“bin”、“female”、“30”以XML元素的形式插入到本章的數(shù)據(jù)庫school的student數(shù)據(jù)表

中。注意,分別以元素和屬性的形式進行實現(xiàn)。

DECLARE@docvarchar(1000)

DECLARE@idocint

SET@doc=f<ROOT>

<student>

<id>5</id>

<name>bin</name>

<sex>female</sex>

<age>30</age>

</student>

v/ROOT,

execsp_xml_preparedocument@idocoutput,@doc

select*fromopenxml(@idoc,7ROOT/student,,2)

with(idint,namevarchar(40),sexvarchar(20),

ageint)

insertstudent

select*fromopenxml(@idoc,,/ROOT/student,,2)

withstudent

execsp_xml_removedocument@idoc

3、將數(shù)據(jù)"bin"、"female"、"30"以XML屬性的形式插入到本章的數(shù)據(jù)庫school的student數(shù)據(jù)表

中。

USEschool

DECLARE@docvarchar(1000)

DECLARE@idocint

SET@doc=,<ROOT>

<studentid="6"name="bin”

sex="femalenage=n30n>

</student>

</ROOT>,

execsp_xml_preparedocument@idocoutput,@doc

select*fromopenxml(@idoc,VROOT/student',1)

with(idint,namevarchar(40),sexvarchar(20),

ageint)

insertstudent

select*fromopenxml(@idoc,VROOT/student')

withstudent

execsp_xml_removedocument@idoc

第七章

上機題

1、

<GOTO

xlink:type="simple”

xlink:href="http:〃”

xlink:title="Address”

xlink:show=''replace”

xlink:actuate="onRequest”>

thisisaslinkedelement

</GOTO>

2、

<GOTO

xlink:type="simple”

xlink:href=''http:〃”

xlink:title="Address”

xlink:show="new"

xlinkiactuate^^nRequesO

thisisaslinkedelement

</GOTO>

3、

<?xmlversion=n1.0"encoding="gb2312n?>

<library>

<bookname="C#技術內(nèi)幕”id廿1101”>

<coverurl="http:〃/book/cover01Jpg”/>

〈press〉機械工業(yè)出版社</press>

<description>

這是一本C#編程語言的指南和參考書。C#是一種嶄新的面向?qū)ο?/p>

的編程語言。它強調(diào)以組件為基礎的軟件開發(fā)方法。

</description>

</book>

<bookname="時間簡史“id二“5105”>

<coverurl="http:〃/book/cover51.jpg"/>

<press>湖南科學技術出版社</press>

<description>

《時間簡史》以最通俗的語言,對一些最古老的問題做了闡述,

向人們介紹了什么是宇宙論,以及宇宙論最新的發(fā)展狀況。

</description>

</book>

<bookname="ASP.NET技術內(nèi)幕“id="l102”>

<coverurl="http:〃/book/cover01.jpg"/>

<press>機械工業(yè)出版社</press>

<description>

這是一本ASP.NET編程語言的指南和參考書。

</description>

</book>

<bookname="Java導論“id=“1105”>

<coverurl="http:〃/book/cover51.jpg"/>

<press>湖南科學技術出版社</press>

<description>

這是一本Java編程語言的指南和參考書。

</description>

</book>

<bookname="JavaME大全“id="l105”>

<coverurl=M/book/cover51.jpg"/>

vpress>湖南科學技術出版社〈/press〉

<description>

這是一本JavaME編程語言的指南和參考書。

</description>

</book>

</library>

<?xmlversion=u1.0H?>

<browsexmlns:xlink=u/1999/xlink">

<bookxlink:type=Msimple"

xlink:href=',http://l27.0.0.l/books.xm^xpointe^idC1!102,))">

<descriptionxlink:type=,'simple"

xlink:href="http:〃/book/cover01.jpg”>

學習ASP.NET的書籍

</description>

</book>

</browse>

第八章

填空題:

1、文檔對象模型2、DOM解析器3、節(jié)點4、DOMDocument5、IXMLDOMNode

選擇題:

1、ABCD2、B3、D4、C5、A

簡答題:

1、答:最常見的節(jié)點類型有:

(1)、元素:元素是XML的基本構件。元素可以有其它元素、文本節(jié)點或兩者兼有來作為

其子節(jié)點。元素節(jié)點還是可以有屬性的唯一類型的節(jié)點。

(2)、屬性:屬性節(jié)點包含關于元素節(jié)點的信息,但實際上,不認為它是元素的子節(jié)點

(3)、文本:文本節(jié)點是:文本。它可以包含許多信息或僅僅是空白。

(4)、文檔(根節(jié)點):文檔節(jié)點是整個文檔中所有其它節(jié)點的父節(jié)點。

2、答:

使用XMLD0M,可以讓我們遍歷、讀取和操縱XML文檔的結構和內(nèi)容,其主要對象和

方法有:

(1)、DOMDocument對象:描述全部文檔映射表,它包括文檔所有信息。對開發(fā)人員來說,

最重要的編程對象是DOMDocumentoDOMDocument對象通過暴露的屬性和方法來允許

瀏覽、查詢和修改XML文檔的內(nèi)容和結構

(2)、IXMLDOMNode對象:描述文檔里的節(jié)點,此節(jié)點可以是元素、屬性、處理指令、文

本或其他存儲在XML文檔里的信息。

(3)>IXMLDOMNodeList對象:描述節(jié)點對象的集合,可以使用該對象遍歷這個集合,可

以用數(shù)值訪問。

(4)、IXMLDOMParseError對象:用來驗證XML文檔對于DTD、XSD的正確性。

第九章

填空題:

1>DOMSAX2、Document3、startDocument4、XMLOutPutter5、Element

選擇題:

1、B2、A3、A4、B5、D

上機題

1、

importjavax.xml.parsers.*;

importorg.w3c.dom.*;

publicclassdom{

publicstaticvoidmain(Stringargs[]){

try{

DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();

DocumentBuilderbuilder=factory.newDocumentBuilder();

Documentdoc=builder.parse("order.xmr,);

NodeListnl=doc.getElementsByTagName(nshipTon);

for(inti=O;i<nl.getLength();i++){

Elementnode=(Element)nl.item(i);

System.out.print(nname:");

System.out.println

(node.getElementsByTagName(nname").item(0).getFirstChild().getNodeValue());

System.out.print(nstreet:");

System.out.printin

(node.getElementsByTagName(nstreetn).item(0).getFirstChild().getNodeValue());

System.out.print(ncity:");

System.out.println

(node.getElementsByTagName(,,city,,).item(0).getFirstChild().getNodeValue());

System.out.print(nstate:");

System.out.println

(node.getElementsByTagName(nstate,,).item(0).getFirstChild().getNodeValue());

System.out.print(nzip:");

System.out.println

(node.getElementsByTagName(nzipn).item(0).getFirstChild().getNodeValue());

System.out.printlnO;

}

NodeListn2=doc.getElementsByTagName(ubillTon);

for(inti=0;i<n2.getLength();i++){

Elementnode=(Element)n2.item(i);

System.out.printC^ame:");

System.out.println

(node.getElementsByTagName(,,namen).item(0).getFirstChild().getNodeValue());

System.out.print(Mstreet:");

System.out.println

(node.getElementsByTagName(nstreetn).item(0).getFirstChild().getNodeValue());

System.out.print(ncity:”);

System.out.println

(node.getElementsByTagName(,,city,,).item(0).getFirstChild().getNodeValue());

System.out.print(nstate:");

System.out.println

(node.getElementsByTagName(,,staten).item(0).getFirstChild().getNodeValue());

System.out.print(nzip:");

System.out.println

(node.getElementsByTagName(nzipn).item(0).getFirstChild().getNodeValue());

System.out.println();

NodeListn3=doc.getElementsByTagName(nitemn);

for(inti=0;i<n3.getLength();i++){

Elementnode=(Element)n3.item(i);

System.out.printC'productName:");

System.out.println

(node.getElementsByTagNanieC^productName'^.item^.getFirstChildO.getNodeValueO);

System.out.print(nquantity:");

System.out.println

(node.getElementsByTagName(,'quantity',).item(0).getFirstChild().getNodeValue());

System.out.print(nUSPrice:”);

System.out.println

(node.getElementsByTagName(,,USPrice,,).item(0).getFirstChild().getNodeValue());

System.out.print(Hcomment:");

System.out.println

(node.getElementsByTagName(ncommentn).item(0).getFirstChild().getNodeValue());

System.out.printlnO;

)

}catch(Exceptione){

e.printStackTrace();

(2)

importjavax.xml.parsers.*;

importorg.w3c.dom.*;

importjava.io.*;

importorg.apache.crimson.tree.*;

publicclassInsertElement{

publicstaticvoidmain(Stringargs[]){

Elementitems=null;

Elementitem=null;

ElementproductName=null;

Elementquantity=null;

ElementUSPrice=null;

ElementshipDate=null;

try(

DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();

DocumentBuilderbuilder=factory.newDocumentBuilder();

Documentdoc=bui1der.parse(norder.xmln);

NodeListnl=doc.getElementsByTagName(nitemsn);

items=(Element)nl.item(O);

item=doc.createElement(nitemn);

item.setAttribute(,,partNumn,n926-AAH);

productName=doc.createElement(nproductName");

productName.appendChild(doc.createTextNode(MBabyMonitor"));

item.appendChild(productName);

quantity=doc.createElementC^quantity");

quantity.appendChild(doc.createTextNode(n1H));

item.appendChild(quantity);

USPrice=doc.createElement(nUSPricen);

USPrice.appendChild(doc.createTextNode(n39.98"));

item.appendChild(USPrice);

shipDate=doc.createElement(nshipDateH);

shipDate.appendChild(doc.createTextNode(n1999-05-21"));

item.appendChild(shipDate);

items.appendChild(item);

((XmlDocument)doc).write(newFileOutputStream(,,testl.xmr,));

}catch(Exceptione){

e.printStackTrace();

2、

importjava.io.IOException;

importjavax.xmLparsers.*;

importorg.xml.sax.Attributes;

importorg.xml.sax.SAXException;

importorg.xml.sax.helpers.DefaultHandler;

publicclassSAXtoMyxml{

publicstaticvoidmain(String[]args)throwsParserConfigurationException,

SAXException,lOException{

//通過工廠獲得SAX解析器

SAXParserFactorysf=SAXParserFactory.newInstance();

SAXParsersax=sf.newSAXParser();

//解析器

//通過解析器解析xml文件

sax.parse("order.xml",newSAXHander。);〃使用自定義的監(jiān)聽器

)

)

//自定義sax解析監(jiān)聽器

classSAXHanderextendsDefaultHandler{

publicvoidstartDocument()throwsSAXException{

System.out.println(“文檔開始”);

)

publicvoidstartElement(Stringuri,StringlocalName,StringqName,Attributesattributes)

throwsSAXException{

System.out.println("元素開始n+qName);

}

publicvoidcharacters(char[]ch,intstart,intlength)throwsSAXException{

Stringtext=newString(ch,start,length);

〃去掉xml文件中的空格節(jié)點

if(text.trim().equals('H,)){

return;

System.out.printlnC文本內(nèi)容”+text);

}

publicvoidendElement(Stringuri,StringlocalName,StringqName)throwsSAXException{

System.out.printin("元素結束n+qName);

)

publicvoidendDocument()throwsSAXException{

System.out.printin(“文檔會束”);

3、

importorg.jdom.*;

importorg.jdom.output.*;

importjava.io.*;

publicclassWriteXML{

publicvoidBuildXML()throwsException{

Elementroot,student,number,name,age;

root=newElement(nstudent-infbn);

student=newElement(,,studentn);

numbei-newElement("number");

name=newElement("namen);

age=newElement。'age");

Documentdoc=newDocument(root);

number.setText(,,00r,);

name.setText(nlnman");

age.setText(n24n);

student.addContent(number);

student.addContent(name);

student.addContent(age);

root.addContent(student);

Formatfbrmat=Format.getCompactFormat();

format.setEncoding("gb2312");

format.setlndent(n”);

XMLOutputterXMLOut=newXMLOutputter(format);

XMLOut.output(doc,newFileOutputStreamC^studentinfo.xmr1));

)

publicstaticvoidmain(Stringnargs)throwsException{

WriteXMLw=newWriteXML();

System.out.printin("正在生成XML文檔.....”);

w.BuildXML();

System.out.println("完成)

)

)

第十章

填空題:

1>流模式DOM2、XmlReader3、XmlDocument4、WriteXml5、XmlNode

選擇題:

1、A2、D3、A4、A5、A

上機題

1、假設XML文檔的文件名為order.xml,位于C:\目錄下。

1)、

第一步:在.NET集成開發(fā)環(huán)境中創(chuàng)建一個名為ReadXmlDemo的控制臺應用程序;

第二步:導入命名空間

usingSystem.Xml;

第三步:讀取數(shù)據(jù)

完整的實例代碼如下所示:

usingSystem;

usingSystem.Xml;

namespaceReadXmlDemo2

(

classClassi

(

[STAThread]

staticvoidMain(string[]args)

nt“-

vs0-仇

ntp1?.

ntdc.0;

ntcc.-0;

ntac0;

ne.0;

tt0;

n

ten-0;

nx

tc

XmlTextReadertextReader=newXmlTextReader("C:\\order.xmln);

while(textReader.Read())

{

XmlNodeTypenType=textReader.NodeType;

if(nType==XmlNodeType.XmlDeclaration)

Console.WriteLine(nDeclaration:n+textReader.Name.ToStringO);

xd=xd+1;

)

if(nType==XmlNodeType.Comment)

Console.WriteLine(nComment:u+textReader.Name.ToStringO);

cc=co+1;

)

if(nType==XmlNodeType.Attribute)

Console.WriteLine(nAttribute:0+textReader.Name.ToStringO);

ac=ac+1;

if(nType==XmlNodeType.Element)

(

Console.WriteLine(',Element:n+textReader.Name.ToStringO);

el=el+1;

)

if(nType==XmlNodeType.Entity)

{^

Console.WriteLine(nEntity:n+textReader.Name.ToStringO);

et=et+1;

if(nType==XmlNodeType.Processinglnstruction)

('

Console.WriteLine("ProcessInstruction:"+textReader.Name.ToStringO);

pi=pi+1;

)

if(nType==XmlNodeType.DocumentType)

(

Console.WriteLine(,,DocumentType:"+textReader.Name.ToStringO);

de=de+1;

if(nType==XmlNodeType.Whitespace)

Console.WriteLine(HWhiteSpace:"+textReader.Name.ToStringO);

ws=ws+1;

Console.WriteLine(nTotalComments:°+cc.ToStringO);

Console.WriteLineC^TotalAttributes:"+ac.ToStringO);

Console.WriteLine(HTotalElements:'1+el.ToStringO);

Console.WriteLine(nTotalEntity:',+et.ToStringO);

Console.WriteLine(HTotalProcessInstructions:"+pi.ToStringO);

Console.WriteLine(nTotalDeclaration:n+xd.ToStringO);

Console.WriteLine(nTotalDocumentType:n+dc.ToStringQ);

Console.WriteLine(HTotalWhiteSpaces:n+ws.ToStringO);

2)、

首先將要用到的文件order.xml放入項目所在文件夾目錄下的bin\Debug目錄下;接著聲明

窗體級的數(shù)據(jù)集對象,代碼如下:

DataSetds=newDataSet();

然后,編寫各控件相關的事件觸發(fā)程序代碼:

顯示“讀取xml文檔”的按鈕的單擊事件觸發(fā)程序代碼如下:

privatevoidbtnReadXML_Click(objectsender,System.EventArgse)

ds.ReadXml(',order.xmr,);

dataGridl.DataSource=ds.Tables[O];

顯示“將數(shù)據(jù)集中的架構寫入文件”的按鈕的單擊事件觸發(fā)程序代碼如下:

privatevoidbtnWriteXmlSchema_Click(objectsender,System.EventArgse)

(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論