Árvore de páginas

Retorna um array com os namespaces do nó elemento da expressão XPath.

Sintaxe

XPathGetNsList( < cXPathExpr > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cXPathExpr

caractere

Expressão XPath.

X


Retorno

Nome

Tipo

Descrição

aNSList

vetor

Retorna um array de subarray, contendo o nome e o endereço do namespace do nó elemento da expressão XPath.

Observações

  • O valor contido em <cXPathExpr> deve ser informado de acordo com o case no XML. Esta implementação é case sensitive.

Exemplos

Exemplo 1
user function XPGetNsL()
  Local cXML := ""
  Local oXML
  Local aNS := {}
  
  oXML := TXMLManager():New()
  
  cXML += '<book xmlns="http://myurl.com" isNew="true">' + CRLF
  cXML += '  <title>A Clash of Kings</title>' + CRLF
  cXML += '  <author>George R. R. Martin</author>' + CRLF
  cXML += '  <price>9.99</price>' + CRLF
  cXML += '  <origin>US</origin>' + CRLF
  cXML += '</book>' + CRLF
  
  if !oXML:Parse( cXML )
    conout( "Errors on Parse!" )
    return
  endif
  
  oXML:XPathRegisterNs( "ns", "http://myurl.com" )
  
  // Vai exibir
  // aNS -> ARRAY (    0) [...]
  aNS := oXML:XPathGetNsList( "/book" )
  varinfo( "aNS", aNS )
  
  // Vai exibir
  // aNS -> ARRAY (    0) [...]
  aNS := oXML:XPathGetNsList( "/ns:song" )
  varinfo( "aNS", aNS )
  
  // Vai exibir
  // aNS -> ARRAY (    1) [...]
  //      aNS[1] -> ARRAY (    2) [...]
  //           aNS[1][1] -> C (    5) [xmlns]
  //           aNS[1][2] -> C (   16) [http://myurl.com]
  aNS := oXML:XPathGetNsList( "/ns:book" )
  varinfo( "aNS", aNS )
  
  oXML:XPathAddNs( "/ns:book", "ns1", "http://myotherurl.com" )
  
  // Vai exibir
  // aAtt -> ARRAY (    2) [...]
  //      aAtt[1] -> ARRAY (    2) [...]
  //           aAtt[1][1] -> C (    5) [xmlns]
  //           aAtt[1][2] -> C (   16) [http://myurl.com]
  //      aAtt[2] -> ARRAY (    2) [...]
  //           aAtt[2][1] -> C (    3) [ns1]
  //           aAtt[2][2] -> C (   21) [http://myotherurl.com]
  aNS := oXML:XPathGetNsList( "/ns:book" )
  varinfo( "aNS", aNS )
return
  • Sem rótulos