跳转到内容

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()
华夏公益教科书