Como o XPath lida com namespaces XML?
Como o XPath lida com namespaces XML?
Se eu usar
/IntuitResponse/QueryResponse/Bill/Id
para analisar o documento XML abaixo, recebo 0 nós de volta.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3"
time="2016-10-14T10:48:39.109-07:00">
<QueryResponse startPosition="1" maxResults="79" totalCount="79">
<Bill domain="QBO" sparse="false">
<Id>=1</Id>
</Bill>
</QueryResponse>
</IntuitResponse>
No entanto, não estou especificando o espaço para nome no XPath (ou seja,http://schema.intuit.com/finance/v3
não é um prefixo de cada token do caminho). Como o XPath pode saber quaisId
Quero se não contar explicitamente? Suponho que, neste caso (já que existe apenas um espaço para nome), o XPath poderia ignorar oxmlns
inteiramente. Mas se houver vários espaços para nome, as coisas podem ficar feias.