Get the individual

Share:

Description

This is different from xmlValue applied to the node. That concatenates all of the text in the child nodes (and their descendants) This is a faster version of xmlSApply(node, xmlValue)

Usage

1
2
getChildrenStrings(node, encoding = getEncoding(node),
                    asVector = TRUE, len = xmlSize(node), addNames = TRUE)

Arguments

node

the parent node whose child nodes we want to process

encoding

the encoding to use for the text. This should come from the document itself. However, it can be useful to specify it if the encoding has not been set for the document (e.g. if we are constructing it node-by-node).

asVector

a logical value that controls whether the result is returned as a character vector or as a list (FALSE).

len

an integer giving the number of elements we expect returned. This is best left unspecified but can be provided if the caller already knows the number of child nodes. This avoids recomputing this and so provides a marginal speedup.

addNames

a logical value that controls whether we add the element names to each element of the resulting vector. This makes it easier to identify from which element each string came.

Value

A character vector.

Author(s)

Duncan Temple Lang

See Also

xmlValue

Examples

1
2
3
4
5
doc = xmlParse("<doc><a>a string</a> some text <b>another</b></doc>")
getChildrenStrings(xmlRoot(doc))

doc = xmlParse("<doc><a>a string</a> some text <b>another</b><c/><d>abc<e>xyz</e></d></doc>")
getChildrenStrings(xmlRoot(doc))

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.