顯示具有 Xml 標籤的文章。 顯示所有文章
顯示具有 Xml 標籤的文章。 顯示所有文章

2011年3月28日 星期一

XML 資訊查詢命令 - xpath 進階

XML 資訊檔內容

$ nano cpc.xml
<CloudFactory>
<cloud name="m"/>

<hub name="HUB100">
<vm type="Server" name="TFS01" mac="52:54:00:01:02:03"/>
<vm type="Desktop" name="UD1041" mac="52:54:00:01:02:06" vnc="5906"/>
</hub>

<hub name="HUB99">
<vm type="Server" name="TFS02" mac="52:54:00:01:02:04"/>
<vm type="Desktop" name="UD1042" mac="52:54:00:01:02:06" vnc="5906"/>
</hub>

<bridge outside="br0" inside="HUB100">
<vm name="G1" outmac="52:54:00:01:ff:01" inmac="52:54:00:01:ff:02"/>
</bridge>

<nat outside="Default" inside="HUB100">
<vm name="N1" outmac="52:54:00:01:ff:01" inmac="52:54:00:01:ff:02"/>
</nat>

<router outside="HUB100" inside="HUB99">
<vm name="R1" outmac="52:54:00:01:ff:03" inmac="52:54:00:01:ff:04"/>
</router>
</CloudFactory>


xpath 命令資訊查詢

1. 取出所有 hub 定義內容
$ xpath -q -e "//hub" cpc.xml
<hub name="HUB100">
<vm type="Server" name="TFS01" mac="52:54:00:01:02:03" />
<vm type="Desktop" name="UD1041" mac="52:54:00:01:02:06" vnc="5906" />
</hub>
<hub name="HUB99">
<vm type="Server" name="TFS02" mac="52:54:00:01:02:04" />
<vm type="Desktop" name="UD1042" mac="52:54:00:01:02:06" vnc="5906" />
</hub>

2. 取出所有 hub 標籤的 name 屬性內容
$ xpath -q -e "//hub/@name" cpc.xml
name="HUB100"
name="HUB99"

3.  先取出 name 屬性內容是 "HUB99" 的所有 hub 標籤, 然後顯示所有 vm 標籤的 mac 位址
$ xpath -q -e "//hub[@name='HUB99']/vm/@mac" cpc.xml
mac="52:54:00:01:02:04"
mac="52:54:00:01:02:06"

XML 資訊查詢命令 - xpath 入門

在 Ubuntu 系統已內建 xpath 命令, 此命令使用 XML::XPath perl 語言模組處理 XML 資訊.

1. 建立簡易 XML 資訊檔

$ nano input.xml
<breads>

  <bread>
    <type>sourdough</type>
  </bread>

  <bread>
    <type>pumpernickel</type>
  </bread>

</breads>

2. 計算 bread 標籤數量

$ xpath input.xml "count(//bread)" 2>/dev/null
2


3. 取出第一個 type 標籤文字內容
$ xpath input.xml "//bread[position() = 1]/type/text()" 2>/dev/null
sourdough


XPath Tutorial : http://www.w3schools.com/xpath/default.asp

2011年2月20日 星期日

XML 功能

XML的全名是 eXtensible Markup Language。主要的目的是要將資料(Data)根據 XML 標準轉換成使用者,應用系統與電腦皆能詮譯的資訊(Information)。

以下是利用 XML 標準將資料(Data)轉換成資訊(Information)的範例:


除了資料描述功能外,所產生的資訊是以階層式的格式來表示,這樣的格式提供更大的資訊處理能力,例如:您可以很輕易的將某個標籤(欄位)資訊再細部的描述,關連式資料庫很難做到這一點。

2011年2月19日 星期六

認識 XML

功能 : 資料 (Data) 描述語言, 進而製定有效資訊 (Infoset)
源出 : Standard Generalized Markup Language
環境:XML 儲存體 (文字檔), XML Parser (DOM)
開發:運作資訊 與 程序分離
應用:數位資訊標準化 (WordML,SGV,..)

* 以可解讀方式使 IT 人員制定 XML 資訊標準,以標準的 XML Parser 使得電腦也能解讀 XML。
* XML 不屬於任何一家公司或個人,它的標準是由 W3C 組織所製定,W3C 的成員有Microsoft,Netscape,IBM,Sun,Oracle 等著名公司,它還包括著名的組織及團體,如 Computer Science Department of MIT。


XML 官方網址 : http://www.w3c.org
參考文章 : New to XML (2009 必讀文章)