Represents a node in an XML
document.
See wx.xml.XmlDocument.
Node has a name and may have content and attributes.
Most common node types are XML_TEXT_NODE
(name and attributes are irrelevant) and XML_ELEMENT_NODE
.
Example: in <title>hi</title>
there is an element with the name title
and irrelevant content and one child of type XML_TEXT_NODE
with hi
as content.
The XML_PI_NODE
type sets the name to the PI
target and the contents to the instructions. Note that whilst the PI
instructions are often in the form of pseudo-attributes these do not use the nodes attribute system. It is the users responsibility to code and decode the instruction text.
If USE_UNICODE
is 0, all strings are encoded in the encoding given to wx.xml.XmlDocument.Load
(default is UTF-8
).
See also
__init__ |
Creates this XML node and eventually insert it into an existing XML tree. |
AddAttribute |
Appends a attribute with given name and value to the list of attributes for this node. |
AddChild |
Adds node child as the last child of this node. |
DeleteAttribute |
Removes the first attributes which has the given name from the list of attributes for this node. |
GetAttribute |
Returns the value of the attribute named attrName if it does exist. |
GetAttributes |
Return a pointer to the first attribute of this node. |
GetChildren |
Returns the first child of this node. |
GetContent |
Returns the content of this node. |
GetDepth |
Returns the number of nodes which separate this node from grandparent . |
GetLineNumber |
Returns line number of the node in the input XML file or -1 if it is unknown. |
GetName |
Returns the name of this node. |
GetNext |
Returns a pointer to the sibling of this node or None if there are no siblings. |
GetNoConversion |
Returns a flag indicating whether encoding conversion is necessary when saving. |
GetNodeContent |
Returns the content of the first child node of type XML_TEXT_NODE or XML_CDATA_SECTION_NODE . |
GetParent |
Returns a pointer to the parent of this node or None if this node has no parent. |
GetType |
Returns the type of this node. |
HasAttribute |
Returns True if this node has a attribute named attrName. |
InsertChild |
Inserts the child node immediately before followingNode in the children list. |
InsertChildAfter |
Inserts the child node immediately after precedingNode in the children list. |
IsWhitespaceOnly |
Returns True if the content of this node is a string containing only whitespaces (spaces, tabs, new lines, etc). |
RemoveChild |
Removes the given node from the children list. |
SetContent |
Sets the content of this node. |
SetName |
Sets the name of this node. |
SetNext |
Sets as sibling the given node. |
SetNoConversion |
Sets a flag to indicate whether encoding conversion is necessary when saving. |
SetParent |
Sets as parent the given node. |
SetType |
Sets the type of this node. |
Attributes |
See GetAttributes |
Children |
See GetChildren |
Content |
See GetContent and SetContent |
Depth |
See GetDepth |
LineNumber |
See GetLineNumber |
Name |
See GetName and SetName |
Next |
See GetNext and SetNext |
NoConversion |
See GetNoConversion and SetNoConversion |
NodeContent |
See GetNodeContent |
Parent |
See GetParent and SetParent |
Type |
See GetType and SetType |
wx.xml.
XmlNode
(object)¶Possible constructors:
XmlNode(parent, type, name, content="", attrs=None, next=None,
lineNo=-1)
XmlNode(type, name, content="", lineNo=-1)
XmlNode(node)
Represents a node in an XML
document.
__init__
(self, *args, **kw)¶__init__ (self, parent, type, name, content=””, attrs=None, next=None, lineNo=-1)
Creates this XML
node and eventually insert it into an existing XML
tree.
Parameters: |
|
---|
__init__ (self, type, name, content=””, lineNo=-1)
A simplified version of the first constructor form, assuming a None
parent.
Parameters: |
|
---|
__init__ (self, node)
Copy constructor.
Note that this does NOT copy siblings and parent pointer, i.e. GetParent
and GetNext
will return None
after using copy constructor and are never unmodified by operator=
. On the other hand, it DOES copy children and attributes.
Parameters: | node (wx.xml.XmlNode) – |
---|
AddAttribute
(self, *args, **kw)¶AddAttribute (self, name, value)
Appends a attribute with given name and value to the list of attributes for this node.
Parameters: |
|
---|
AddAttribute (self, attr)
Appends given attribute to the list of attributes for this node.
Parameters: | attr (wx.xml.XmlAttribute) – |
---|
AddChild
(self, child)¶Adds node child as the last child of this node.
Parameters: | child (wx.xml.XmlNode) – |
---|
Note
Note that this function works in O(n) time where n is the number of existing children. Consequently, adding large number of child nodes using this method can be expensive, because it has O(n^2) time complexity in number of nodes to be added. Use InsertChildAfter
to populate XML
tree in linear time.
See also
DeleteAttribute
(self, name)¶Removes the first attributes which has the given name from the list of attributes for this node.
Parameters: | name (string) – |
---|---|
Return type: | bool |
GetAttribute
(self, attrName, defaultVal="")¶Returns the value of the attribute named attrName if it does exist.
If it does not exist, the defaultVal is returned.
Parameters: |
|
---|---|
Return type: |
|
GetAttributes
(self)¶Return a pointer to the first attribute of this node.
Return type: | wx.xml.XmlAttribute |
---|
GetChildren
(self)¶Returns the first child of this node.
To get a pointer to the second child of this node (if it does exist), use the GetNext
function on the returned value.
Return type: | wx.xml.XmlNode |
---|
GetContent
(self)¶Returns the content of this node.
Can be an empty string. Be aware that for nodes of type XML_ELEMENT_NODE
(the most used node type) the content is an empty string. See GetNodeContent
for more details.
Return type: | string |
---|
GetDepth
(self, grandparent=None)¶Returns the number of nodes which separate this node from grandparent
.
This function searches only the parents of this node until it finds grandparent or the None
node (which is the parent of non-linked nodes or the parent of a wx.xml.XmlDocument‘s root element node).
Parameters: | grandparent (wx.xml.XmlNode) – |
---|---|
Return type: | int |
GetLineNumber
(self)¶Returns line number of the node in the input XML
file or -1
if it is unknown.
Return type: | int |
---|
GetName
(self)¶Returns the name of this node.
Can be an empty string (e.g. for nodes of type XML_TEXT_NODE
or XML_CDATA_SECTION_NODE
).
Return type: | string |
---|
GetNext
(self)¶Returns a pointer to the sibling of this node or None
if there are no siblings.
Return type: | wx.xml.XmlNode |
---|
GetNoConversion
(self)¶Returns a flag indicating whether encoding conversion is necessary when saving.
The default is False
.
You can improve saving efficiency considerably by setting this value.
Return type: | bool |
---|
GetNodeContent
(self)¶Returns the content of the first child node of type XML_TEXT_NODE
or XML_CDATA_SECTION_NODE
.
This function is very useful since the XML
snippet "tagnametagcontent/tagname"
is represented by expat with the following tag tree:
XML_ELEMENT_NODE name="tagname", content=""
|-- XML_TEXT_NODE name="", content="tagcontent"
or eventually:
XML_ELEMENT_NODE name="tagname", content=""
|-- XML_CDATA_SECTION_NODE name="", content="tagcontent"
An empty string is returned if the node has no children of type XML_TEXT_NODE
or XML_CDATA_SECTION_NODE
, or if the content of the first child of such types is empty.
Return type: | string |
---|
GetParent
(self)¶Returns a pointer to the parent of this node or None
if this node has no parent.
Return type: | wx.xml.XmlNode |
---|
GetType
(self)¶Returns the type of this node.
Return type: | wx.xml.XmlNodeType |
---|
HasAttribute
(self, attrName)¶Returns True
if this node has a attribute named attrName.
Parameters: | attrName (string) – |
---|---|
Return type: | bool |
InsertChild
(self, child, followingNode)¶Inserts the child node immediately before followingNode in the children list.
Parameters: |
|
---|---|
Return type: | bool |
Returns: |
|
Note
For historical reasons, followingNode may be None
. In that case, then child is prepended to the list of children and becomes the first child of this node, i.e. it behaves identically to using the first children (as returned by GetChildren
) for followingNode).
See also
InsertChildAfter
(self, child, precedingNode)¶Inserts the child node immediately after precedingNode in the children list.
Parameters: |
|
---|---|
Return type: | bool |
Returns: |
|
New in version 2.8.8.
See also
IsWhitespaceOnly
(self)¶Returns True
if the content of this node is a string containing only whitespaces (spaces, tabs, new lines, etc).
Note that this function is locale-independent since the parsing of XML
documents must always produce the exact same tree regardless of the locale it runs under.
Return type: | bool |
---|
RemoveChild
(self, child)¶Removes the given node from the children list.
Returns True
if the node was found and removed or False
if the node could not be found. Note that the caller is responsible for deleting the removed node in order to avoid memory leaks.
Parameters: | child (wx.xml.XmlNode) – |
---|---|
Return type: | bool |
SetContent
(self, con)¶Sets the content of this node.
Parameters: | con (string) – |
---|
SetName
(self, name)¶Sets the name of this node.
Parameters: | name (string) – |
---|
SetNext
(self, next)¶Sets as sibling the given node.
The caller is responsible for deleting any previously present sibling node.
Parameters: | next (wx.xml.XmlNode) – |
---|
SetNoConversion
(self, noconversion)¶Sets a flag to indicate whether encoding conversion is necessary when saving.
The default is False
.
You can improve saving efficiency considerably by setting this value.
Parameters: | noconversion (bool) – |
---|
SetParent
(self, parent)¶Sets as parent the given node.
The caller is responsible for deleting any previously present parent node.
Parameters: | parent (wx.xml.XmlNode) – |
---|
SetType
(self, type)¶Sets the type of this node.
Parameters: | type (XmlNodeType) – |
---|
Attributes
¶See GetAttributes
Children
¶See GetChildren
Content
¶See GetContent
and SetContent
LineNumber
¶See GetLineNumber
NoConversion
¶See GetNoConversion
and SetNoConversion
NodeContent
¶See GetNodeContent