xml實驗報告程序員
一.書上題目數據庫
Ø 345題:架構
代碼:編碼
<?xml version="1.0" encoding="UTF-8"?> <項目組 xmlns="http://schemas.microsoft.com/" xmlns:duty="http://schemas.microsoft.com/ado/"> <項目組角色> <職位> <duty:名稱>項目經理</duty:名稱> <工做年限>五年以上</工做年限> <技能要求>精通J2EE,掌握管理技能</技能要求> <職責>控制項目進度、品質、任務分配</職責> </職位> <![CDATA[ <職位> <duty:名稱>架構設計師</duty:名稱> <工做年限>五年以上</工做年限> <技能要求>精通J2EE架構設計、有項目開發經驗</技能要求> <職責>設計項目架構,並在項目組中實施</職責> </職位> ]]> <職位> <duty:名稱>需求分析師</duty:名稱> <工做年限>3年以上</工做年限> <技能要求>熟悉財務系統,有開發經驗</技能要求> <職責>收集客戶需求,編寫需求規格書</職責> </職位> <職位> <duty:名稱>高級程序員</duty:名稱> <工做年限>3年以上</工做年限> <技能要求>精通structs+Hibernate+MS SQL</技能要求> <職責>編寫詳細設計書,編碼實現業務模塊</職責> </職位> </項目組角色> </項目組>
運行圖:spa
Ø 9題:架構設計
代碼:設計
<?xml version="1.0" encoding="GB2312"?> <PERSON> <NAME>AEon Yuzz</NAME> <CALL>021-54657798 </CALL> <TITLE>項目經理</TITLE> <COMPANY>SAP 中國有限公司....</COMPANY> <ADDRESS>上海浦東張江軟件園</ADDRESS> </PERSON> <!-- <PERSON> <NAME>AEon Yuzz</NAME> <:CALL>021-54657798 <TITLE>項目經理</TITLE> </:CALL> <COMPANY>SAP 中國有限公司....</COMPANY> <ADD RESS>上海浦東張江軟件園</ADD RESS> </PERSON> --> <!-- problem1:ADDRESS不能分開寫 problem2:電話標籤不能嵌套 problem3:標籤開頭不能用: -->
運行圖:code
二.回答題目xml
(1)若是容許XML中的元素相互交叉,其缺點是什麼?utf-8
答:1.文檔缺少規範化;2.結構不夠清晰,不利於維護和閱讀;3.容易形成內容與現實混合;4.沒有作到嚴格嵌套
(2)XML文件中的名字空間有什麼用處?
答:XML 命名空間提供了避免元素名稱衝突的方法。
由於XML的元素名都是本身定義的,在大型XML文檔中,可能會出現標識名相同而表明意義不相同的情況。命名空間經過在元素名前增長獨特的標識符,制定元素名的有效空間,來區分兩個同名元素。
(3)XML的標記與關係數據庫中的列名有什麼區別?
答:數據庫是結構化的數據存儲,而XML是半結構化的數據存儲,區別就在於,結構化的關係表中,若是你有個字段的數據是null,那麼這個位置也要空着,保證關係結構。而XML文檔中你只須要添加有數據內容的節點(標籤)就好了。這就是半結構化數據的一個優勢。
(4 ) 根據實際業務需求,定義格式良好的XML文件。
某音像店,用XML文件來存放下列唱片信息:每一種唱片包含唱片的基本信息和多個訂購人信息。基本信息包含:唱片名字,發行日期,曲目數,單價,數量(含有一個屬性是單位)。而訂購人信息包含:姓名,詳細地址(街道,城市,省,國家,郵政編碼),備註(包含屬性付款方式和定貨日期)等。
首先獲得樹形圖:
由題目可知包含多個訂購人信息,須要使用DTD來約束。根據題目要求獲得以下xml代碼:
<?xml version="1.0" encoding="utf-8" ?> <!--a start of DTD--> <!DOCTYPE 唱片信息[ <!--elems defines--> <!ELEMENT 唱片信息 (基本信息,(訂購人信息)+)> <!ELEMENT 基本信息 (唱片名稱,發行日期,曲目數,單價,數量)> <!ELEMENT 訂購人信息 (姓名,詳細地址,備註)> <!ELEMENT 詳細地址 (街道,城市,省,國家,郵政編碼)> <!ELEMENT 唱片名稱 (#PCDATA)> <!ELEMENT 發行日期 (#PCDATA)> <!ELEMENT 曲目數 (#PCDATA)> <!ELEMENT 單價 (#PCDATA)> <!ELEMENT 數量 (#PCDATA)> <!ELEMENT 姓名 (#PCDATA)> <!ELEMENT 備註 (#PCDATA)> <!ELEMENT 街道 (#PCDATA)> <!ELEMENT 城市 (#PCDATA)> <!ELEMENT 省 (#PCDATA)> <!ELEMENT 國家 (#PCDATA)> <!ELEMENT 郵政編碼 (#PCDATA)> <!--屬性定義--> <!ATTLIST 數量 個數 CDATA #REQUIRED> <!ATTLIST 備註 付款方式 CDATA #REQUIRED> <!ATTLIST 備註 定貨日期 CDATA #REQUIRED> ]> <唱片信息> <基本信息> <唱片名稱>迪克-牛仔</唱片名稱> <發行日期>1990-7-26</發行日期> <曲目數>52</曲目數> <單價>¥1999</單價> <數量 個數="5"></數量> </基本信息> <訂購人信息> <姓名>arc</姓名> <詳細地址> <街道>四川農業大學三區</街道> <城市>雅安市</城市> <省>四川省</省> <國家>中國</國家> <郵政編碼>623000</郵政編碼> </詳細地址> <備註 付款方式="網上支付" 定貨日期="2016-11-2"></備註> </訂購人信息> <訂購人信息> <姓名>cat</姓名> <詳細地址> <街道>四川川農業小學二區</街道> <城市>雅安市</城市> <省>四川省</省> <國家>中國</國家> <郵政編碼>623000</郵政編碼> </詳細地址> <備註 付款方式="線下支付" 定貨日期="2016-10-25"></備註> </訂購人信息> </唱片信息>
運行結果以下: