O método permite remover um nó apontado pela expressão XPath assim como todos os nós filhos desse nó.
Sintaxe
XPathDelNode( < cXPathExpr > )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
|---|---|---|---|---|
cXPathExpr | caractere | Expressão XPath. | X |
|
Retorno
Nome | Tipo | Descrição |
|---|---|---|
lRet | lógico | Verdadeiro (.T.) caso tenha sido possivel remover. 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.
- Em builds superiores a 7.00.131227-20140929 existe uma correção no método, pois dava Access Violation quando removia o nó atual e após isso chamava a propriedade CNAME.
Exemplos
Exemplo 1
user function XPDelN()
Local cXML := ""
Local oXML
Local aChildren := {}
oXML := TXMLManager():New()
cXML += '<book 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
// Vai exibir "book"
conout( oXML:CNAME )
// Vai exibir
// aChildren -> ARRAY ( 4) [...]
// aChildren[1] -> ARRAY ( 3) [...]
// aChildren[1][1] -> C ( 5) [title]
// aChildren[1][2] -> C ( 11) [/book/title]
// aChildren[1][3] -> C ( 16) [A Clash of Kings]
// aChildren[2] -> ARRAY ( 3) [...]
// aChildren[2][1] -> C ( 6) [author]
// aChildren[2][2] -> C ( 12) [/book/author]
// aChildren[2][3] -> C ( 19) [George R. R. Martin]
// aChildren[3] -> ARRAY ( 3) [...]
// aChildren[3][1] -> C ( 5) [price]
// aChildren[3][2] -> C ( 11) [/book/price]
// aChildren[3][3] -> C ( 4) [9.99]
// aChildren[4] -> ARRAY ( 3) [...]
// aChildren[4][1] -> C ( 6) [origin]
// aChildren[4][2] -> C ( 12) [/book/origin]
// aChildren[4][3] -> C ( 2) [US]
aChildren := oXML:XPathGetChildArray( "/book" )
varinfo( "aChildren", aChildren )
// Vai exibir ".F."
conout( oXML:XPathDelNode( "/song/composer" ) )
// Vai exibir ".T."
conout( oXML:XPathDelNode( "/book/price" ) )
// Vai exibir "book"
conout( oXML:CNAME )
// Vai exibir
// aChildren -> ARRAY ( 4) [...]
// aChildren[1] -> ARRAY ( 3) [...]
// aChildren[1][1] -> C ( 5) [title]
// aChildren[1][2] -> C ( 11) [/book/title]
// aChildren[1][3] -> C ( 16) [A Clash of Kings]
// aChildren[2] -> ARRAY ( 3) [...]
// aChildren[2][1] -> C ( 6) [author]
// aChildren[2][2] -> C ( 12) [/book/author]
// aChildren[2][3] -> C ( 19) [George R. R. Martin]
// aChildren[3] -> ARRAY ( 3) [...]
// aChildren[3][1] -> C ( 6) [origin]
// aChildren[3][2] -> C ( 12) [/book/origin]
// aChildren[3][3] -> C ( 2) [US]
aChildren := oXML:XPathGetChildArray( "/book" )
varinfo( "aChildren", aChildren )
// Vai exibir ".T."
conout( oXML:XPathDelNode( "/book" ) )
// Vai exibir ""
conout( oXML:CNAME )
// Vai exibir
// aChildren -> ARRAY ( 0) [...]
aChildren := oXML:XPathGetChildArray( "/book" )
varinfo( "aChildren", aChildren )
return
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas