Platforms to show: All Mac Windows Linux Cross-Platform

Back to XMLDocumentMBS class.

Previous items

XMLDocumentMBS.IterateElementsByTagNameNS(namespaceURI as string, localName as String) as XMLIterateElementsMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
method XML MBS XML Plugin 22.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Iterates over the elements with matching tag name.

For use with For Each Loops in Xojo.

XMLDocumentMBS.LoadXml(data as MemoryBlock)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method XML MBS XML Plugin 22.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Loads XML from data.

Replaces current document with the new one.

See also:

Some examples using this method:

XMLDocumentMBS.LoadXml(data as String)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method XML MBS XML Plugin 22.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Loads xml from data.

Replaces current document with the new one.

See also:

XMLDocumentMBS.LoadXml(file as FolderItem)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method XML MBS XML Plugin 22.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Loads xml file.

Replaces current document with the new one.
This may reference other files in same folder.

See also:

XMLDocumentMBS.LoadXmlMT(data as MemoryBlock)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method XML MBS XML Plugin 22.5 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Loads XML from data.

Replaces current document with the new one.

The work is performed on a preemptive thread, so this function does not block the application and can yield time to other Xojo threads. Must be called in a Xojo thread to enjoy benefits. If called in main thread will block, but keep other background threads running.

See also:

XMLDocumentMBS.LoadXmlMT(data as String)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method XML MBS XML Plugin 22.5 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Loads xml from data.

Replaces current document with the new one.

The work is performed on a preemptive thread, so this function does not block the application and can yield time to other Xojo threads. Must be called in a Xojo thread to enjoy benefits. If called in main thread will block, but keep other background threads running.

See also:

XMLDocumentMBS.LoadXmlMT(file as FolderItem)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method XML MBS XML Plugin 22.5 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Loads xml file.

Replaces current document with the new one.
This may reference other files in same folder.

The work is performed on a preemptive thread, so this function does not block the application and can yield time to other Xojo threads. Must be called in a Xojo thread to enjoy benefits. If called in main thread will block, but keep other background threads running.

See also:

XMLDocumentMBS.NodeFromHandle(Handle as Integer) as XMLNodeMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
method XML MBS XML Plugin 23.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a node (or subclass) object based on a handle.

Raises exception if this handle doesn't belong to this document.

XMLDocumentMBS.normalizeDocument

Type Topic Plugin Version macOS Windows Linux iOS Targets
method XML MBS XML Plugin 22.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Normalizes the document.

This method acts as if the document was going through a save and load cycle, putting the document in a "normal" form. The actual result depends on the features being set. See XMLConfigurationMBS for details.

Noticeably this method normalizes XMLTextMBS nodes, makes the document "namespace wellformed", according to the algorithm described below in pseudo code, by adding missing namespace declaration attributes and adding or changing namespace prefixes, updates the replacement tree of XMLEntityReferenceMBS nodes, normalizes attribute values, etc. <br>Mutation events, when supported, are generated to reflect the changes occurring on the document. Note that this is a partial implementation. Not all the required features are implemented. Currently XMLAttributeMBS and XMLTextMBS nodes are normalized. Features to remove XMLCommentMBS and XMLCDATASectionMBS work.

XMLDocumentMBS.renameNode(node as XMLNodeMBS, namespaceURI as String, qualifiedName as String) as XMLNodeMBS   New in 23.5

Type Topic Plugin Version macOS Windows Linux iOS Targets
method XML MBS XML Plugin 23.5 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Rename an existing node.

When possible this simply changes the name of the given node, otherwise this creates a new node with the specified name and replaces the existing node with the new node as described below. This only applies to nodes of type ELEMENT_NODE and ATTRIBUTE_NODE.

When a new node is created, the following operations are performed: the new node is created, any registered event listener is registered on the new node, any user data attached to the old node is removed from that node, the old node is removed from its parent if it has one, the children are moved to the new node, if the renamed node is an XMLElementMBS its attributes are moved to the new node, the new node is inserted at the position the old node used to have in its parent's child nodes list if it has one, the user data that was attached to the old node is attach to the new node, the user data event NODE_RENAMED is fired.

When the node being renamed is an XMLAttributeMBS that is attached to an XMLElementMBS, the node is first removed from the XMLElementMBS attributes map. Then, once renamed, either by modifying the existing node or creating a new one as described above, it is put back.

node: The node to rename.
namespaceURI: The new namespaceURI.
qualifiedName: The new qualified name.

Previous items

The items on this page are in the following plugins: MBS XML Plugin.


💬 Ask a question or report a problem
The biggest plugin in space...