O método adiciona um namespace ao nó elemento da expressão XPath.
XPathAddNs( < cXPathExpr >, < cNsName >, < cNsValue > ) |
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 |
Nome | Tipo | Descrição |
|---|---|---|
lRet | lógico | Verdadeiro (.T.) caso tenha sido possivel adicionar. Falso (.F.) caso contrário. |
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 |