[Home] [By Thread] [By Date] [Recent Entries]

  • From: "Oleg A. Paraschenko" <olpa@x...>
  • To: xml-dev <xml-dev@l...>
  • Date: Tue, 6 Mar 2007 08:54:02 +0300

Hello,

I'm investigating the structure of an XML file. The best tool is an usual
text editor (vim), but I need to look at some specific tags in some
specific contexts.

The idea is to execute an XPath and somehow to get to the location in the
editor. Remembering that I saw something interesting while playing with
libxml internals, I re-checked... And bingo! I've written a script which
executes an XPath and prints the result together with the line number in
the source XML file.

Usage:

python xpath.py document xpath

Code:

<xpath.py>
import sys,libxml2

doc_name = sys.argv[1]
xpath    = sys.argv[2]

doc  = libxml2.parseFile(doc_name)
ctxt = doc.xpathNewContext()
res  = ctxt.xpathEval(xpath)
for node in res:
  print node.lineNo()
  print node

doc.freeDoc()
ctxt.xpathFreeContext()
del ctxt
del doc
</xpath.py>

I think many will find this code useful. If you want bookmark it, here is
the permanent address:

http://uucode.com/blog/2007/03/05/execute-an-xpath-and-get-the-line-numbers/


-- 
Oleg Parashchenko  olpa@ http://xmlhack.ru/  XML news in Russian
http://uucode.com/blog/  Generative Programming, XML, TeX, Scheme
http://olpa.livejournal.com/


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member