跳轉到內容

Scriptol/Xml 或類

來自華夏公益教科書,開放世界的開放書籍

Xml 或類

[編輯 | 編輯原始碼]

通用類

[編輯 | 編輯原始碼]

Scriptol 是面向物件的,並且具有類和繼承。定義類很簡單。一個非常簡單的類的示例。

class car
  int speed
  void getSpeed()
     ... some statements ...
  return speed 
/class 


但 Scriptol 也具有 xml。定義 xml 文件也很簡單。

xml Car
  speed value = "10" /
  wheels number = "4"
  passengers number = "5"
     Clara, Charly, Corinna, Cyril, Cecilia
  /passengers  
/xml 


使用 Xml

[編輯 | 編輯原始碼]

類可直接使用,或透過建立例項並引用屬性或呼叫方法來使用。

使用 Xml 並沒有什麼不同。您可以定義要建立多少個 xml 文件例項,並修改每個例項的內容。元素或屬性的內容可以被分配,並且可以新增或刪除元素和屬性。

Car myCar ` myCar is an instance of the Car Xml document.
print myCar.speed ` displaying the value of the "speed" attribute.
print myCar.passengers ` displaying the content of the "passengers" tag.

匯入 xml 文件

[編輯 | 編輯原始碼]

Xml 主要用於對各種工具、文字處理程式、電子表格等生成的文件執行處理。

為了載入此類文件,Scriptol 集成了一個 sax 解析器。您只需宣告一個 xml 文件,載入 xml 檔案,然後就可以像原始碼中宣告的類一樣使用該文件。

xml Car ` declaring an empty xml document.
/xml
Car myCar` defining an instance (not required).
myCar.load("document.xml")  ` loading an external xml document
Car.load("document.xml")  ` you can use directly the xml class itself 


迭代器

[編輯 | 編輯原始碼]

對 xml 文件的迭代與對陣列的迭代相同,另外還增加了 down() 和 up() 方法。迭代器允許解析整個 xml 文件或某個元素的子元素。


demo.begin() 
while demo.isFound() 
print demo.getData() 
let demo.inc()
華夏公益教科書