Sto cercando di creare un 'AET' (Abstract Expression Tree) per XPath (mentre sto scrivendo un editor XY WYSIWYG). Ho battuto la testa contro il muro con XPath BNF da tre a quattro ore.Parse XPath Expressions
Ho pensato ad un'altra soluzione. Ho pensato di poter scrivere una classe che implementa IXPathNavigable, che restituisce un XPathNavigator del mio quando viene chiamato CreateNavigator. Questo XPathNavigator avrebbe sempre avuto successo con qualsiasi chiamata di metodo e avrebbe tenuto traccia di tali chiamate - ad es. ci siamo trasferiti al nodo clienti e quindi al nodo cliente. Potrei quindi utilizzare queste informazioni (si spera) per creare "AET" (quindi avremmo clienti/clienti in un modello a oggetti ora).
L'unica domanda è: come su terra eseguo IXPathNavigable tramite un'espressione XPath?
So che questo è eccessivamente pigro. Ma qualcun altro ha superato lo sforzo e ha scritto un parser di espressioni XPath? Non ho ancora sviluppato la mia soluzione possibile, perché non riesco a testarlo (perché non posso eseguire XPathExpression su un IXPathNavigable), quindi non so nemmeno se la mia soluzione funzionerà.
Il testo che inizia da IXPathNavigable è molto confuso. Potresti modificare la domanda e spiegare meglio? –