O método adiciona um array de namespaces ao nó elemento da expressão XPath.
Sintaxe
XPathAddNsList( < cXPathExpr >, < aAttr > )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cXPathExpr | caractere | Expressão XPath. | X |
|
aAttr | vetor | Array de namespaces para serem inseridos. | X |
|
Retorno
Nome | Tipo | Descrição |
---|---|---|
lRet | lógico | Verdadeiro (.T.) caso tenha sido possivel adicionar. Falso (.F.) caso contrário. |
Observações
- O valor contido em <cXPathExpr> deve ser informado de acordo com o case no XML. Esta implementação é case sensitive.
- O array deve conter pares com o nome e o valor dos namespaces que serão adicionados.
- Em builds superiores a 7.00.131227-20140929 existem correções no método, pois estava invertendo os valores de prefixo e endereço; e estava adicionando namespaces com URL vazia.
Exemplos
Exemplo 1
user function XPANsArr() 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 ( 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 ) // Vai exibir ".F." aNS := { { "ns1", "http://otherurl.com" } } conout( oXML:XPathAddNsList( "/song", aNS ) ) // Vai exibir ".F." aNS := { { "ns1", "http://otherurl.com" } } conout( oXML:XPathAddNsList( "/ns:song", aNS ) ) // Vai exibir ".F." aNS := { { "ns1", "http://otherurl.com" } } conout( oXML:XPathAddNsList( "/book", aNS ) ) // Vai exibir ".F." aNS := { { "", "http://otherurl.com" } } conout( oXML:XPathAddNsList( "/ns:book", aNS ) ) // Vai exibir ".F." aNS := { { "ns1", "" } } conout( oXML:XPathAddNsList( "/ns:book", aNS ) ) // Vai exibir ".T." aNS := { { "ns1", "http://otherurl.com" } } conout( oXML:XPathAddNsList( "/ns:book", aNS ) ) // Vai exibir // aNS -> ARRAY ( 2) [...] // aNS[1] -> ARRAY ( 2) [...] // aNS[1][1] -> C ( 5) [xmlns] // aNS[1][2] -> C ( 16) [http://myurl.com] // aNS[2] -> ARRAY ( 2) [...] // aNS[2][1] -> C ( 3) [ns1] // aNS[2][2] -> C ( 19) [http://otherurl.com] aNS := oXML:XPathGetNsList( "/ns:book" ) varinfo( "aNS", aNS ) return
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas