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
|