O método adiciona um namespace ao nó elemento da expressão XPath.
Sintaxe
XPathAddNs( < cXPathExpr >, < cNsName >, < cNsValue > )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cXPathExpr | caractere | Expressão XPath. | X | |
cNsName | caractere | Nome (prefixo) do namespace desejado | X | |
cNsValue | caractere | Valor (endereço) do namespace desejado | 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.
- Este método não deve ser usado para adicionar um atributo, use XPathAddAtt.
- Em builds superiores a 7.00.131227-20140929 existe uma correção no método, pois estava invertendo os valores de prefixo e endereço.
Exemplos
Exemplo 1
user function XPAddNS() 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." conout( oXML:XPathAddNs( "/song", "ns1", "http://otherurl.com" ) ) // Vai exibir ".F." conout( oXML:XPathAddNs( "/ns:song", "ns1", "http://otherurl.com" ) ) // Vai exibir ".F." conout( oXML:XPathAddNs( "/book", "ns1", "http://otherurl.com" ) ) // Vai exibir ".F." conout( oXML:XPathAddNs( "/ns:book", "", "http://otherurl.com" ) ) // Vai exibir ".F." conout( oXML:XPathAddNs( "/ns:book", "ns1", "" ) ) // Vai exibir ".T." conout( oXML:XPathAddNs( "/ns:book", "ns1", "http://otherurl.com" ) ) // 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