Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 欧美一级一级做性视频,日韩视频免费在线,日韩视频一区二区在线观看

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          Notepad ++UWP版上架微軟商店

          Notepad ++UWP版上架微軟商店

          T之家3月13日消息 Notepad ++是一款經(jīng)典的開源文本、代碼編輯器,并且可以替代系統(tǒng)自帶的記事本的功能,同時(shí)也支持各類流行的計(jì)算機(jī)編程語言。目前,這款產(chǎn)品的UWP版本已經(jīng)在Windows應(yīng)用商店上架。

          官方表示,UWP版的首個(gè)版本為桌面紀(jì)念版,第一個(gè)版本號(hào)就是7.5.5.0,能夠提供桌面版的完整功能。

          編輯器可以運(yùn)行在微軟的windows系統(tǒng)環(huán)境下,它的使用是受GPL許可證保護(hù)的,支持的語言:C、C++、Java、C#、XML、HTML、PHP、Javascript。

          下載地址:點(diǎn)此訪問

          想看到更多這類內(nèi)容?去APP商店搜IT之家,天天都有小歡喜。

          習(xí)《Python Cookbook》第三版

          將 HTML 或者 XML 實(shí)體如 &entity; 或 &#code; 替換為對(duì)應(yīng)的文本。再者,你需要轉(zhuǎn)換文本中特定的字符 (比如<, >, 或 &)。

          如果你想替換文本字符串中的 ‘<’ 或者 ‘>’ ,使用 html.escape() 函數(shù)可以很容易的完成。比如:

          import html
          
          my_str='Elements are written as "<tag>text</tag>".'
          print(my_str)	# Elements are written as "<tag>text</tag>".
          print(html.escape(my_str))	# Elements are written as "<tag>text</tag>".
          print(html.escape(my_str, quote=False))	# Elements are written as "<tag>text</tag>".

          對(duì)于escape()方法的官方解釋:

          html.escape(s, quote=True)

          Convert the characters &, < and > in string s to HTML-safe sequences. Use this if you need to display text that might contain such characters in HTML. If the optional flag quote is true, the characters (") and (') are also translated; this helps for inclusion in an HTML attribute value delimited by quotes, as in <a href="...">.

          將字符串s中的字符&,<和>轉(zhuǎn)換為HTML安全序列。 如果您需要在HTML中顯示可能包含此類字符的文本,請(qǐng)使用此選項(xiàng)。 如果可選的標(biāo)記quote為true,則還會(huì)翻譯字符(“)和(');這有助于包含在用引號(hào)分隔的HTML屬性值中,如<a href="...">中所示。

          如果你正在處理的是 ASCII 文本,并且想將非 ASCII 文本對(duì)應(yīng)的編碼實(shí)體嵌入進(jìn)去,可以給某些 I/O 函數(shù)傳遞參數(shù) errors='xmlcharrefreplace' 來達(dá)到這個(gè)目。比如:

          my_str='Spicy Jalape?o'
          
          print(my_str.encode('ascii', errors='xmlcharrefreplace'))	# b'Spicy Jalape?o'

          其中,xmlcharrefreplace的作用是:將非ascii字符替換為xml合適字符引用

          字符引用通過其通用字符集/ Unicode代碼點(diǎn)引用字符,并使用以下格式:

          &#nnnn; 或者 &#xhhhh;

          上邊的例子非ascii碼字符?,被替換為ñ;

          更多的XML字符引用,可以查看WIKI網(wǎng)址:

          https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

          為了替換文本中的編碼實(shí)體,你需要使用另外一種方法。如果你正在處理 HTML或者 XML 文本,試著先使用一個(gè)合適的 HTML 或者 XML 解析器。通常情況下,這些工具會(huì)自動(dòng)替換這些編碼值,你無需擔(dān)心。

          有時(shí)候,如果你接收到了一些含有編碼值的原始文本,需要手動(dòng)去做替換,通常你只需要使用 HTML 或者 XML 解析器的一些相關(guān)工具函數(shù)/方法即可。比如:

          my_str_special='This is a special character "<è>"'
          print(html.unescape(my_str_special))	# This is a special character "<è>"
          
          
          from xml.sax.saxutils import unescape
          my_str_special_1='The prompt is >>>'
          print(unescape(my_str_special_1))	# The prompt is >>>

          在生成 HTML 或者 XML 文本的時(shí)候,如果正確的轉(zhuǎn)換特殊標(biāo)記字符是一個(gè)很容易被忽視的細(xì)節(jié)。特別是當(dāng)你使用 print() 函數(shù)或者其他字符串格式化來產(chǎn)生輸出的時(shí)候。使用像 html.escape() 的工具函數(shù)可以很容易的解決這類問題。

          如果你想以其他方式處理文本,還有一些其他的工具函數(shù)比如xml.sax.saxutils.unescapge() 可以幫助你。然而,你應(yīng)該先調(diào)研清楚怎樣使用一個(gè)合適的解析器。比如,如果你在處理 HTML 或 XML 文本,使用某個(gè)解析模塊比如html.parse 或 xml.etree.ElementTree 已經(jīng)幫你自動(dòng)處理了相關(guān)的替換細(xì)節(jié)。


          ML;
          是什么?
          Extensible Markup Languare 可擴(kuò)展標(biāo)記型語言

          為什么要有XML?
          1.HTML的標(biāo)簽是固定的,不可以改變,也不可以進(jìn)行一個(gè)···擴(kuò)展
          2.HTML語法松散

          作用;
          制作配置文件;如組件類。。。。。
          存儲(chǔ)數(shù)據(jù);存儲(chǔ)少量的數(shù)據(jù)

          ◆◆◆注;XML不是HTML的升級(jí)版,因?yàn)閼?yīng)用的領(lǐng)域不一樣。
          XML是描寫關(guān)系型的數(shù)據(jù)
          HTML是描述頁面的數(shù)據(jù)顯示效果

          --------------------------------------------XML和HTML的區(qū)別--------------------------------------------------------------------

          XML和HTML的區(qū)別;
          A、HTML是將數(shù)據(jù)和顯示的效果混合在一起,描述了數(shù)據(jù)的顯示效果,
          -----而且標(biāo)簽是固定,而且語法松散

          B、XML是將數(shù)據(jù)和顯示的效果是分離的,只是描述了數(shù)據(jù)之間的關(guān)系和存儲(chǔ)的格式,
          -----沒有描述數(shù)據(jù)的顯示效果,沒有一套具體的標(biāo)簽,只是一個(gè)規(guī)范。

          XML適用金融,科學(xué)等有關(guān)系型的領(lǐng)域

          XML的重點(diǎn)是;處理數(shù)據(jù),和數(shù)據(jù)結(jié)構(gòu)


          ◆注;引入外部CSS文件,對(duì)XML標(biāo)簽進(jìn)行一個(gè)修飾,
          <>xml-stylesheet tyep="text/css" href="">

          --------------------------------------------XML的特點(diǎn)--------------------------------------------------------------------

          XML特點(diǎn);
          1.語法嚴(yán)謹(jǐn),區(qū)分大小寫
          2.標(biāo)簽名可以是中文
          3.文件后綴是 .xml
          4.換行也是算一個(gè)元素
          5.可以自定義標(biāo)簽
          6.id不可以以數(shù)字開頭

          存儲(chǔ)數(shù)據(jù)的方式;
          * XML 存儲(chǔ)關(guān)系型的數(shù)據(jù)
          * properties 存儲(chǔ)key,value的數(shù)據(jù)
          * 文本 什么都可以存儲(chǔ)
          * 數(shù)據(jù)庫



          --------------------------------------------XML的語法--------------------------------------------------------------------




          XML語法;
          1.文檔聲明 Document declaration;
          版本 編碼集 是否與其他文件關(guān)聯(lián)
          <?xml vaersion="1.0" encoding="編碼集" standalone="no默認(rèn)" ?>

          2.元素 Element;
          1.自定義標(biāo)簽;建議標(biāo)簽名全部小寫,保持與HTML的書寫習(xí)慣,
          因?yàn)槌霈F(xiàn)同名的大小寫不便于閱讀
          2.成對(duì)出現(xiàn)
          3.閉合標(biāo)簽和結(jié)束體標(biāo)簽
          4.符合邏輯嵌套

          3.屬性 Attribute;
          1.屬性名小寫,屬性也是可以自定義的,
          2.屬性值要使用 "" 或 '',id不可以以數(shù)字開頭
          3.多個(gè)屬性要使用 空格 隔開
          4.可以將屬性作為一個(gè)子標(biāo)簽,因?yàn)閄ML用途不是用于顯示頁面的

          4.注釋 Comment;
          1.<!-- --> 和HTML一樣
          2.注釋不可以嵌套

          5.CDATA;
          1.XML的轉(zhuǎn)義字符基本和HTML一致。
          2.如果需要轉(zhuǎn)義的字符太多了則可以使 CDATA
          3.CDATA可以將一段字符串原樣的輸出

          <![CDATA[字符串]]>

          6.處理指令;
          1.處理指令時(shí)告知解析引擎是要如何處理文檔的。
          2.處理指令必須使用 <? ?>

          <?xml-stylesheet type="text/css" href="路徑">

          ◆注;
          1.XML必須要有一個(gè)根節(jié)點(diǎn)
          2.XML不會(huì)在頁面顯示
          3.縮進(jìn)寫法適合閱讀

          ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓XML—— 文件結(jié)構(gòu)↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

          ◆◆◆注; XML文檔必須要有一個(gè)根節(jié)點(diǎn)◆◆◆

          XML文件結(jié)構(gòu);
          Node
          |--- Element
          |--- Attr
          |--- Comment
          |--- Text
          |--- Document


          ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓XML—— 解析技術(shù)↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■


          xml解析;
          為什么要有?
          因?yàn)閄ML主要是用于存儲(chǔ)數(shù)據(jù),做配置文件.......
          那么XML的數(shù)據(jù)的···取出···可以通過解析技術(shù)可以實(shí)現(xiàn).....

          而讀取XML文件;
          1.IO ---- 讀取出來的數(shù)據(jù)不是理想的數(shù)據(jù)。
          2.DOM解析 ---- DOM4J 是一個(gè)開源的解析技術(shù)
          3.SAX解析 ---- SAX 是SUN公司定義的,比較規(guī)范,SAX里面也是有使用了DOM4J的技術(shù)

          解析技術(shù);
          1.DOM4J 是一個(gè)開源組織的
          2.JAXP 是SUN公司定義的
          |-- DOM
          |-- SAX


          ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓DOM—— 解析技術(shù)↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

          DOM解析;
          特點(diǎn);1.是一次性裝載這個(gè)文件到內(nèi)存中,不利于大文件存取操作,
          2.適合增刪改查,因?yàn)橐淮问钦麄€(gè)文件加載,無需在到硬盤對(duì)文件中的內(nèi)容一個(gè)一個(gè)去查找
          3.在內(nèi)存中是一棵倒掛的樹
          4.DOM是解析XML的底層接口之一
          5.是W3C定義的
          6.DOM是一個(gè)規(guī)范,而DOM4J是一個(gè)實(shí)現(xiàn)了這個(gè)規(guī)范的解析技術(shù)

          DOM4J;
          1.是DOM解析的一個(gè)實(shí)現(xiàn)解析技術(shù)(如同實(shí)現(xiàn)類)
          2.特點(diǎn)和DOM一樣,也是一棵倒立的樹型形狀。
          3.不是W3C定義的,是一個(gè)開源團(tuán)隊(duì)發(fā)布的

          DOM4J;也是一個(gè)組件,而這個(gè)組件也是需要下載的,

          -----------------------------------------------DOM4J獲取XML文件的方式--------------------------------------------------------------------

          ◆◆◆注;注意導(dǎo)包的路徑。

          DOM4J獲取文件的三種方式;
          1.通過解析器的方法傳入一個(gè)絕對(duì)路徑

          a.創(chuàng)建解析器
          ★ SAXReader sr=new SAXReader();

          b.調(diào)用解析器的read方法獲取XML文檔,使用文檔對(duì)象接收

          ★ Document doc=sr.read("絕對(duì)路徑");

          2.通過解析器的方法傳入一個(gè)相對(duì)路徑

          a.創(chuàng)建解析器
          ★ SAXReader sr=new SAXReader();

          b.調(diào)用解析器的read()方法,獲取到XML文檔,使用文檔對(duì)象接收

          ★ Document doc=sr.read("相對(duì)路徑");

          3.通過類的getResourceAsStream("/文件名")方法

          a.通過運(yùn)行時(shí)類的對(duì)象的getResourceAsStream()的方法
          ---獲取到這個(gè)XML文檔的流

          ★InputStream is=類名.class.getResourceStream("/文件名");

          b.創(chuàng)建解析器
          ★ SAXReader sr=new SAXReader();

          c.調(diào)用解析器的read()方法傳入獲取到的XML文件流,使用文檔對(duì)象接收

          ★ Document doc=sr.read(is);

          ------------------------------------------DOM4J獲取XML文件的元素方法--------------------------------------------------------------------

          ◆◆◆注;必須要先獲取到根節(jié)點(diǎn),在根據(jù)根節(jié)點(diǎn)獲取到其他節(jié)點(diǎn) ◆◆◆

          DOM4J獲取元素方法; --- 使用Element Object調(diào)用

          1.getRootElement() 獲取到根節(jié)點(diǎn)

          2.elements(寫/沒寫) 只能寫子標(biāo)簽,不可以寫孫標(biāo)簽
          沒寫;獲取到所有的子標(biāo)簽標(biāo)簽 返回的是一個(gè)集合
          寫了;獲取到指定標(biāo)簽名的所有標(biāo)簽

          3.getName(); 獲取到標(biāo)簽名
          4.elementText() 獲取到標(biāo)簽的內(nèi)容
          5.element() 獲取到指定標(biāo)簽
          6.elementById() 獲取到指定的Id標(biāo)簽
          7.elementIterator() 獲取到標(biāo)簽迭代器
          8.getQName() 獲取到標(biāo)簽名

          獲取屬性的方法;----使用 Element Object調(diào)用

          1.attributeValue() 獲取到指定的屬性的值
          2.attirbutes() 獲取到所有的屬性

          添加的方法;----使用 Element Object 調(diào)用

          1.addElement() 添加元素
          2.addAttribute() 添加屬性
          3.addCDATA() 添加CDATA
          4.addText() 添加標(biāo)簽內(nèi)容

          直接刪除元素方法;使用獲取到的元素對(duì)象,
          ◆ 調(diào)用detach()方法可以刪除這個(gè)元素和這個(gè)元素的所有子元素。

          如;element.detach()

          ------------------------------------------DOM4J刷新文件--------------------------------------------------------------------

          DOM4J刷新文件;
          1.聲明文件內(nèi)容的寫入格式。
          a.縮進(jìn)格式;
          OutputFormat of=OutputFormat.createPrettyPrint();

          b.行內(nèi)格式;
          OutputFormat of=OutputFormat.createCompactFormat();

          2.創(chuàng)建寫入器
          XMLWriter writer=new XMLWriter("FileStream_Path","OutputFormat_Obj");

          3.調(diào)用寫入器的方法寫入重寫寫入文件
          writer.write("Document_Obj");

          ◆注;
          1.將獲取到的XML文檔對(duì)象的內(nèi)容轉(zhuǎn)換成一個(gè)字符串
          String Document.asXML();

          2.將字符串轉(zhuǎn)換成一個(gè)XML文檔對(duì)象
          Document.DocumentHanper.parseText("String_Obj");

          ------------------------------------------DOM4J創(chuàng)建 --> 寫入過程--------------------------------------------------------------------

          ◆◆◆注意導(dǎo)包◆◆◆

          1.創(chuàng)建解析器對(duì)象;
          SAXReader reader=new SAXReader()

          2.調(diào)用解析器方法獲取到XML文檔;
          Document doc=reader.read("String_Path");

          3.獲取到根路徑;
          Element doc.getRootElement();

          ---4.1;將獲取到的文檔對(duì)象轉(zhuǎn)換成字符串
          String doc.asXML();

          ---4.2;將字符串解析成一個(gè)XML文檔對(duì)象
          Document DocumnetHanper.parseText("String");

          5.規(guī)定寫入XML文件的格式;
          1.OutputFormat of=OutputFormat.createPattryPrint(); --- 縮進(jìn)格式
          2.OutputFormat of=OutputFormat.createCompactFormat(); --- 行內(nèi)格式

          6.創(chuàng)建寫入器;
          XMLWriter writer=new XMLWriter("FileStream_Path",OutputFormat);

          7.調(diào)用寫入器的寫入XML文件的方法;
          writer.wirte(Document);

          8.關(guān)閉流;
          writer.close();

          ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓Xpath—— 查詢表達(dá)式↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

          Xpath;
          為什么要有?
          在DOM4J中加載文件時(shí),直接加載整個(gè)文件到內(nèi)存中的,不便于獲取某一個(gè)指定的節(jié)點(diǎn)。

          什么是Xpath?
          1、是一個(gè)查詢表達(dá)式語言,也是一個(gè)開源的語言
          2、在DOM4J中融合了這個(gè)Xpath這個(gè)查詢表達(dá)式語言
          3、這個(gè)語言也是一個(gè)組件來的,但是在DOM4J組件中已經(jīng)附帶了
          dom4J --- lib --- jaxen-1.1-beta-6.jar

          作用;
          可以通過Xpath表達(dá)式快速定位到某一個(gè)XML文件的節(jié)點(diǎn)。

          ------------------------------------------Xpath—— 表達(dá)式符號(hào) --------------------------------------------------------------------

          表達(dá)式符號(hào);
          //x 相對(duì)定位到某節(jié)點(diǎn)
          /x 絕對(duì)定位絕對(duì)定位到某一個(gè)節(jié)點(diǎn)
          /* 是所有節(jié)點(diǎn)
          [num] 第N個(gè)節(jié)點(diǎn)
          [@x] 選中到某一個(gè)屬性
          normalize-span 去空格
          [text()] 獲取到內(nèi)容

          ------------------------------------------Xpath—— 使用 --------------------------------------------------------------------

          Xpath的使用;
          DOM4J的selectNodes("表達(dá)式"); 方法
          DOM4J的selectSingleNode("表達(dá)式"); 方法

          Document .selectNodes() ------ 是返回所有節(jié)點(diǎn)的集合
          Document .selectSingleNode("表達(dá)式") ----- 返回某一個(gè)具體的節(jié)點(diǎn)

          ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓JAXP —— 解析技術(shù)↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

          JAXP解析技術(shù);
          是Sun公司開發(fā)的,是XML文檔解析技術(shù)的一個(gè)集合統(tǒng)稱。

          包含;
          DOM解析
          一次性讀取整個(gè)文件到內(nèi)存中。

          SAX解析
          讀取一行,解析一行,處理一行。

          這2項(xiàng)解析技術(shù)都是由SUN公司制定的,較規(guī)范

          ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓JAXP——SAX —— 解析技術(shù)↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

          SAX解析技術(shù);
          為什么要有?
          1.DOM4J不適合大文件的讀取,因?yàn)橐淮涡约虞d整個(gè)文件。

          是什么?
          1.Simple API For XML 簡(jiǎn)單的解析XML文檔API,是由SUN公司定義的一個(gè)解析技術(shù),較規(guī)范。
          2.也是融合了DOM4J的部分技術(shù)。

          作用;
          用于解析XML文檔的一個(gè)解析技術(shù)

          特點(diǎn);
          一次讀取一行,解析一行,處理一行。

          適合大文件的存取,不適合增刪改查。

          ◆注;由于是SUN公司開發(fā)的,而在Eclipse或MyEclipse中已經(jīng)有了組件。

          ◆◆◆◆◆注;SAX解析主要是用于查詢,一般都不使用寫入操作,因?yàn)橐话愕腦ML文件都不會(huì)太大

          -----------------------------------------SAX獲取XML文件的方式--------------------------------------------------------------------


          SAX獲取XML文件的方式;
          只有 2 種,傳入的字符串是···絕對(duì)路徑···或···相對(duì)路徑···

          -----------------------------------------SAX獲取XML文件的流程 --------------------------------------------------------------------

          SAX獲取XML文件的流程;
          因?yàn)槭荢UN公司定義的所以也較規(guī)范,也定義了獲取XML文件的流程

          1.獲取到解析器工廠對(duì)象
          SAXParserFactory spf=SAXParserFactory.newInstance();

          2.通過解析器工廠對(duì)象獲取到具體的解析器對(duì)象
          SAXParser sp=spf.newSAXParser();

          3.通過具體的解析器對(duì)象,獲取到讀取器
          XMLReader reader=sp.getXMLReader()

          4.通過調(diào)用讀取器的setContentHandler(obj)方法設(shè)置事件處理
          reader.setContentHandler(obj);

          5.調(diào)用讀取器的解析方法,解析XML文件
          reader.parse("絕對(duì)路徑/相對(duì)路徑");


          ◆注;具體的事件處理在繼承事件處理接口·下·的具體實(shí)現(xiàn)類,的類中定義

          事件處理;
          在SAX中引入了一個(gè)事件處理的概念,是用于對(duì)文件的內(nèi)容進(jìn)行的處理。

          1.在調(diào)用解析文件parse()的方法,時(shí)會(huì)觸發(fā)事件處理方法中的對(duì)象的···主要三個(gè)方法···

          2.而事件處理ContenHandler是一個(gè)接口,
          如果實(shí)現(xiàn)這個(gè)了接口則需要實(shí)現(xiàn)這個(gè)接口的所有方法
          所以可以實(shí)現(xiàn)這個(gè)接口的具體的實(shí)現(xiàn)類。

          主要三個(gè)方法;
          startElement(String uri, String localName, String qName,
          Attributes attributes) ----- 獲取到開始標(biāo)簽

          characters(char[] ch, int start, int length) ----- 獲取到標(biāo)簽內(nèi)容

          endElement(String uri, String localName, String qName)
          ----- 獲取到結(jié)束標(biāo)簽

          ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓JAXP——DOM —— 解析技術(shù)↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

          JAXP-DOM解析技術(shù);
          為什么要有?
          1.在SUN公司定義了一個(gè)SAX解析,而這個(gè)解析的特點(diǎn)是,每次讀取一行,
          而不便于增刪改。。。。。
          2.而不用DOM4J,因?yàn)槿绻鞘褂肧UN公司定義的標(biāo)準(zhǔn)較規(guī)范,

          3.使得代碼便于閱讀,因?yàn)樵陂喿x是不必查看是使用什么技術(shù)。。。。。

          4.在未來的開發(fā)中統(tǒng)一使用SUN公司的技術(shù),可以使得兼容性問題的風(fēng)險(xiǎn)降低。。

          是什么?
          JAXP-DOM解析技術(shù)是由SUN公司開發(fā)的,里面融合了DOM4J的部分技術(shù)

          作用;
          可以用于解析XML文檔。

          特點(diǎn);
          1.一次性加載整個(gè)XML文檔到內(nèi)存中。
          2.不適合大的文檔存取,適合增刪改查
          3.也是一個(gè)倒立的樹型結(jié)構(gòu)。

          4.也是遵循DOM規(guī)范的。

          ------------------------------ JAXP——DOM —— 創(chuàng)建->獲取XML文檔流程 -------------------------------------------------------------------

          Jaxp-DOM創(chuàng)建流程;
          1.獲取到Jaxp_DOM解析工廠對(duì)象
          DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();

          2.通過解析工廠對(duì)象獲取到具體的解析器對(duì)象
          DomcumentBuilder db=dbf.newDocumentBuilder();

          3.通過解析器的解析XML文檔的方法獲取到XML文檔
          Document doc=db.parse("絕對(duì)路徑/相對(duì)路徑")

          操作文檔元素的方法;
          參考;Java_API ---> Document對(duì)象,中的方法
          和DOM4J/SAX類似

          ◆◆◆注;不可以使用通過類名獲取到文件輸入流對(duì)象

          Node n=doc.getElementsByTagName("節(jié)點(diǎn)名")[num];

          -------------------------------- JAXP——DOM —— 創(chuàng)建->寫入XML文檔流程 --------------------------------------------------------------------

          JAXP-DOM創(chuàng)建-寫入;
          1.獲取到JAXP-DOM解析工廠接口對(duì)象
          DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();

          2.通過解析工廠的對(duì)象獲取到具體的解析器對(duì)象
          DocumentBuilder bd=dbf.newDocumentBuilder();

          3.使用解析器對(duì)象的parse()方法,獲取到XML文檔的對(duì)象
          Document doc=bd.parse(絕對(duì)路徑/相對(duì)路徑);

          4.1.在JAXP-DOM的中加入了插入的insertBefore();的方法
          a.創(chuàng)建節(jié)點(diǎn)
          Element_Obj.createElement("結(jié)點(diǎn)名");

          b.獲取到參考節(jié)點(diǎn)

          c.獲取到某一個(gè)節(jié)點(diǎn)(父節(jié)點(diǎn))
          Element ele=doc.getDocumentElement();

          d.通過父節(jié)點(diǎn)插入某一個(gè)節(jié)點(diǎn)
          ele.insertBefore(插入的節(jié)點(diǎn),參考節(jié)點(diǎn));

          5.創(chuàng)建寫入工廠對(duì)象 【transformer 轉(zhuǎn)換模型】
          TransformerFactory tff=TransformerFactory.newInstance();

          6.通過工廠對(duì)象獲取到具體的寫入對(duì)象
          Transformer tf=tff.newTransformer();

          <------
          7.調(diào)用寫入對(duì)象的write方法寫入
          ▲--> tf.write(new DOMSource("源文件路徑"),new StreamResult(new FileOutputStream("目標(biāo)路徑")));


          ◆◆◆注;
          1.new DOMSource() 是一個(gè)類,而這個(gè)類可以關(guān)聯(lián)要轉(zhuǎn)換的Document對(duì)象
          2.new StreamResult() 是一個(gè)類,可以表示數(shù)據(jù)寫出的目的地。

          ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓ XML —— 約束↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

          XML約束;
          為什么要有?
          在XML文檔中的標(biāo)簽可以隨意定義,使得文檔不規(guī)范,
          也避免用戶輸入有誤,提高用戶的體驗(yàn)性。

          如;在描述人職業(yè)的XML文檔中,用戶不小心寫錯(cuò)了或有人故意破壞,寫了個(gè)動(dòng)物標(biāo)簽。


          什么是XML約束?
          規(guī)定(規(guī)范)XML文檔的書寫格式。

          作用;
          使得文檔變得規(guī)范,便于閱讀,提高用戶的體驗(yàn)性。

          主流約束;
          DTD
          是一個(gè)控制不是很精準(zhǔn)的一個(gè)約束技術(shù)
          文件后綴是 .dtd

          Scheme
          是一個(gè)控制精準(zhǔn)的一個(gè)約束技術(shù),逐步的取代DTD
          文件后綴是 .xsd

          ◆◆◆注;叫是叫Scheme而在書寫scheme約束文檔時(shí)是寫schema
          ----因?yàn)镾chema的意思更加具體。

          schema :模式,計(jì)劃
          scheme :計(jì)劃,策劃,體制

          ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓ DTD —— 約束↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■


          DTD約束;
          是什么?
          Document Type Definition 文檔類型定義

          作用;
          用于規(guī)定(規(guī)范)一個(gè)XML文檔的書寫格式

          特點(diǎn);
          對(duì)文檔的內(nèi)容控制不夠精準(zhǔn)是,如做不到內(nèi)容的控制等。

          --------------------------------------------DTD文檔定義 --------------------------------------------------------------------


          DTD文檔定義;
          1.常用的數(shù)據(jù)類型;
          (#PCDATA) 可變長(zhǎng)度的字符串
          EMPTY 空類型 【一般用于定義閉合標(biāo)簽】
          ANY 任意類型

          2.常用的定義符號(hào);
          ? 0或1
          + 1或N
          * 0或N
          () 必須出現(xiàn) 1次


          3.常用的定義元素的關(guān)鍵字;
          ELEMENT 定義元素
          ATTLIST 定義元素的屬性


          ◆注;
          1.都是大寫
          2.一個(gè)標(biāo)簽名可以同時(shí)使用2個(gè),
          因?yàn)椋籈LMENT是定義元素
          ATTLIST 是定義元素的屬性

          4.定義屬性常用的關(guān)鍵字;
          1.#REQUIRED 必須給這個(gè)標(biāo)簽定義該屬性
          2.#IMPLIED 這個(gè)屬性可寫可不寫
          3.#Fixed 給這個(gè)屬性定義一個(gè)固定值

          --------------------------------------------DTD文檔引入方式 --------------------------------------------------------------------

          DTD文檔引入方式;
          1.外部引入;
          <!DOCTYPE 根名 SYSTEM "文件名">

          2.內(nèi)部定義;
          <!DOCTYPE 根名[
          <!ELEMENT 根名(子標(biāo)簽)>
          <!ELEMENT 子 (#PCDATA)>
          ]>

          3.外部引入;key --- value
          <!DOCTYPE 根名 PUBLIC "名稱空間【唯一】" "文件名">

          --------------------------------------------DTD文檔定義 --------------------------------------------------------------------


          1.文件后綴是DTD

          <!ELEMENT 書名 (作者+,價(jià)格?)>
          <!ElEMENT 作者 (#PCDATA)>
          <!ATTLIST 作者 titile CDATA #IMPLIED>
          <!ELEMENT 價(jià)格 (#PCDATA)>

          2.DTD文件沒有注釋

          ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓ Scheme —— 約束↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

          Scheme約束;
          為什么要有?
          1.DTD約束對(duì)XML的格式控制不夠精準(zhǔn)
          2.使得用戶可選擇性更多,因?yàn)镾cheme也比較麻煩


          是什么?
          Scheme;體制,策劃

          作用;
          規(guī)范(規(guī)定)XML的文檔書寫格式

          為什么說Scheme控制更加精準(zhǔn)?
          1.可選擇規(guī)定的內(nèi)容類型更多
          2.內(nèi)容類型的控制
          3.內(nèi)容的規(guī)定
          特點(diǎn);
          1.文件后綴是.xsd
          2.scheme文件的也是屬于一個(gè)XML文件,因?yàn)槁暶魈幣cXML一樣
          3.文件的根節(jié)點(diǎn)一定是【schema】

          ◆◆◆注;不要寫成scheme ,
          scheme 是策劃,計(jì)劃,體制
          schema 是 計(jì)劃,模式

          --------------------------------------------Scheme文檔定義 --------------------------------------------------------------------


          Scheme文檔定義;
          1.可以指定一個(gè)自定義名

          2.xmlns 的W3C域名是固定的格式,不可以改變

          3.targetNamespace 域名名稱空間可以自定義,但是是要求唯一的

          4.elementFormDefault 是固定的格式

          5.根標(biāo)簽一定要是 【schema】


          常用關(guān)鍵字解析;
          sequence 序列;
          是指定約束XML文件定義節(jié)點(diǎn)時(shí)
          按照一個(gè)什么順序進(jìn)行一個(gè)定義

          complextype 復(fù)雜類型;
          是在xsd文檔聲明這個(gè)節(jié)點(diǎn)下有子節(jié)點(diǎn)。

          name;
          是標(biāo)簽名
          type;
          是標(biāo)簽內(nèi)容類型

          ★注;type如果設(shè)置成數(shù)值型(double,decimal....)的,一般都是要顯示的賦值


          常見的單詞
          Ocuurs 重視的意思
          decimal 小數(shù)

          --------------------------------------------Scheme文檔開頭解析 --------------------------------------------------------------------

          xs是自定義的一個(gè)標(biāo)識(shí)符
          名稱空間是一個(gè)key,保證唯一性用于約束XML文檔時(shí),XML文檔找到這個(gè)文檔

          <?xml version="1.0" encoding="UTD-8"> ----- 指定文檔類型
          <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" ----- 固定的格式

          targetNamespace="自定義" ----- 自定義域名,用于標(biāo)識(shí),
          |====一般是域名,保證在網(wǎng)絡(luò)上的唯一性

          elementFormDefault="qualified" ----- 固定格式,qualified;合格
          >

          </xs:schema>

          ----------------------------------XML文檔 —— 引用 —— Scheme文檔 --------------------------------------------------------------------

          1.my ----- 是自定義的一個(gè)名字,可以用于在引入多個(gè)約束文件時(shí),可以區(qū)分

          2.xis ----- 是自定義的,也是可以用于在引入多個(gè)約束文件時(shí)區(qū)分,

          3.xmlns:xis="http://www.w3.org/2001/XMLSchema-instance"
          ----- 是固定格式

          4.xis:schemaLacation ----- 引入一個(gè)本地的文件,通過使用 名稱空間 + 文件名 指定 key + value

          <my:schema 【根名】 xmlns:my="scheme文檔的名稱空間值"
          xmlns:xis="http://www.w3.org/2001/XMLSchema-instance"
          xis:schemaLacation="scheme文檔名稱空間 文件名"
          >

          </my:scheme>


          主站蜘蛛池模板: 一区二区三区电影在线观看| 中文字幕精品一区二区2021年| 亚洲一区二区精品视频| 波多野结衣在线观看一区二区三区| 天天爽夜夜爽人人爽一区二区| 亚洲日韩精品一区二区三区无码| 亚洲电影一区二区| 精品一区二区三区视频在线观看| 亚洲综合国产一区二区三区| 亚洲午夜一区二区三区| 国产在线精品一区二区三区直播| 蜜芽亚洲av无码一区二区三区| 国产成人精品一区二区三区 | 中文字幕一区视频| av无码一区二区三区| 精品福利视频一区二区三区| 日本精品一区二区久久久| 亚洲日韩AV无码一区二区三区人| 国产一区二区不卡在线播放| 日本一道一区二区免费看| 国产福利一区二区三区| 亚洲国产精品无码久久一区二区| 冲田杏梨高清无一区二区| 波多野结衣免费一区视频| 精品一区二区三区波多野结衣| 国产福利一区二区在线视频| 国产精品视频一区| 无码乱码av天堂一区二区| 日韩在线不卡免费视频一区| 国产午夜精品一区理论片| 中文字幕一区二区日产乱码| 动漫精品第一区二区三区| 日韩一区二区三区免费体验| 亚洲一区二区三区成人网站 | 成人免费视频一区| 亚洲一区二区三区四区视频| 久久精品一区二区三区资源网| 人妻少妇AV无码一区二区| 手机看片福利一区二区三区| 中文日韩字幕一区在线观看| 狠狠色婷婷久久一区二区三区|