文章
姚 鑫 · 六月 23, 2021 阅读大约需 4 分钟

第十六章 创建或编辑DOM

第十六章 创建或编辑DOM

创建或编辑DOM

要创建DOM或修改现有DOM,请使用%XML.Document的以下方法在:

CreateDocument()

classmethod CreateDocument(localName As %String, 
                           namespace As %String) 
                           as %XML.Document 

在仅包含根元素的返回%XML.Document新实例。

AppendCharacter()

method AppendCharacter(text As %String)

将新的字符数据节点追加到此元素节点的子节点列表中。当前节点指针不变;此节点仍然是追加的子节点的父节点。

AppendChild()

method AppendChild(type As %String)

将新节点追加到此节点的子节点列表中。当前节点指针不变;此节点仍然是追加的子节点的父节点。

AppendElement()

method AppendElement(localName As %String, 
                     namespace As %String, 
                     text As %String)

将新元素节点追加到此节点的子节点列表中。如果指定了文本参数,则字符数据将添加为新元素的子元素。当前节点指针不变;此节点仍然是追加的子节点的父节点。

AppendNode()

method AppendNode(sourceNode As %XML.Node) as %Status

将指定节点的副本追加为此节点的子节点。要复制的节点可以来自任何文档。当前节点指针不变。此节点仍然是追加的子节点的父节点。

AppendTree()

method AppendTree(sourceNode As %XML.Node) as %Status

将指定节点的副本(包括其所有子节点)追加为此节点的子节点。要复制的树可以来自任何文档,但此节点不能是源节点的后代。当前节点指针不变。此节点仍然是追加的子节点的父节点。

InsertNamespace()

method InsertNamespace(namespace As %String)

将给定的命名空间URI添加到文档。

InsertCharacter()

method InsertCharacter(text as %String, ByRef child As %String, Output sc As %Status) as %String

插入一个新的字符数据节点作为此节点的子节点。新字符数据恰好插入在指定的子节点之前。子参数是子节点的节点ID;它通过引用传递,以便可以在插入后进行更新。返回插入节点的nodeId。当前节点指针不变。

InsertNode()

method InsertNode(sourceNode As %XML.Node, ByRef child As %String, Output sc As %Status) as %String

插入指定节点的副本作为此节点的子节点。要复制的节点可以来自任何文档。新节点恰好插入在指定的子节点之前。子参数是子节点的节点ID;它通过引用传递,以便可以在插入后进行更新。返回插入节点的nodeId。当前节点指针不变。

InsertTree()

method InsertTree(sourceNode As %XML.Node, ByRef child As %String, Output sc As %Status) as %String

插入指定节点的副本(包括其子节点)作为此节点的子节点。要复制的树可以来自任何文档,但此节点不能是源节点的后代。新节点恰好插入在指定的子节点之前。子参数是子节点的节点ID;它通过引用传递,以便可以在插入后进行更新。返回插入节点的nodeId。当前节点指针不变。

Remove()

method Remove()

移除当前节点并使其父节点成为当前节点。

RemoveAttribute()

method RemoveAttribute(attributeName As %String)

删除给定的属性。

RemoveAttributeNS()

method RemoveAttributeNS(attributeName As %String, 
                         namespace As %String)

移除给定属性,其中属性名称和命名空间指定感兴趣的属性。

ReplaceNode()

method ReplaceNode(sourceNode As %XML.Node) as %Status

用指定节点的副本替换该节点。要复制的节点可以来自任何文档。当前节点指针不变。

ReplaceTree()

method ReplaceTree(sourceNode As %XML.Node) as %Status

将该节点替换为指定节点的副本,包括其所有子节点。要复制的树可以来自任何文档,但不能是源节点的后代。当前节点指针不变。

SetAttribute()

method SetAttribute(attributeName As %String, 
                    namespace As %String = "", 
                    value As %String = "", 
                    valueNamespace As %String = "")

设置当前元素的属性的数据。这里:

  • attributeName 是属性的名称。
  • namespace 是来自此元素的属性AttributeNameQName的命名空间URI。
  • value 是属性值。
  • valueNamespace 当属性值为“prefix:value”形式时,valueNamespace是前缀对应的命名空间URI。

从DOM编写XML输出

可以序列化DOMDOM的节点并生成XML输出。要执行此操作,请使用%XML.Writer的以下方法。

Document()

method Document(document As %XML.Document) as %Status

如果给定%XML.Document实例,此方法会将文档写入当前指定的输出目标。

DocumentNode()

method DocumentNode(document As %XML.Node) as %Status

给定%XML.Node,此方法将该节点写入当前指定的输出目标。

Tree()

method Tree(node As %XML.Node) as %Status

给定%XML.Node实例,此方法将节点及其子代树写入当前指定的输出目标。

0
0 29
讨论 (0)1
登录或注册以继续