指定id属性の値をもつ要素を探す:plexippus xpath - lisp-cookbook-ja/common-lisp GitHub Wiki

下記の例では、属性idの値が'x'の要素を探します。

ライブラリの導入方法

(ql:quickload :xpath)

XML文章構築

(defparameter *doc*
  (cxml:parse
   "<a xmlns='http://tips.lisp-users.org/common-lisp'><b>1</b><b id='x'>1</b><b id='y'>9</b><c>2</c></a>"
   (stp:make-builder)))
(xpath:with-namespaces (("x" (stp:namespace-uri (stp:document-element *doc*))))
  (dolist (e (xpath:all-nodes (xpath:evaluate "//x:b[@id='x']" *doc*)))
    (format t
            "~A[@id='~A'] => ~A~%"
            (stp:local-name e)
            (stp:attribute-value e "id")
            (stp:string-value e))))
;->  b[@id='x'] => 1
;
;=>  NIL
⚠️ **GitHub.com Fallback** ⚠️