### Function

# EDataServer xml_find_in_hierarchy

since: 3.38

#### Declaration [src]

    xmlNode*
    e_xml_find_in_hierarchy (
      xmlNode* parent,
      const gchar* child_ns_href,
      const gchar* child_name,
      ...
    )

#### Description [src]

Checks whether the `parent` has a hierarchy of children described by pair of ‘ns_href’ and ‘name’.

Note: It requires two `NULL`-s at the end of the arguments, because the `ns_href' can be` NULL`, thus it could not distinguish between no namespace href and the end of the hierarchy children, thus it stops only on the 'name' being` NULL`.

Available since: 3.38

This function is not directly available to language bindings.

#### Parameters

`parent`

  Type: `xmlNode`

  An #xmlNode, or `NULL`, in which case function does nothing and just returns `NULL`.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`child_ns_href`

  Type: `const gchar*`

  A namespace href the node should have set, or `NULL` for none namespace.

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`child_name`

  Type: `const gchar*`

  An element name to search for.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`...`

  Type: ``

  A two-`NULL`-terminated pair of hierarchy children.

#### Return value

Type: `xmlNode`

An #xmlNode referencing the node in the hierarchy of the children of the `parent`, or `NULL`, when no such found.

The data is owned by the called function.
The return value can be `NULL`.