马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 st788796 于 2014-3-13 15:58 编辑
 - ;;功 能: 获取 Node 的 ChildNodes(TagName) Comment CData Text 属性
- ;;参 数: xmlobj --- XML DOM
- ;;返回值: 表
- (defun XD::XML:GetNodeProperties (xmlobj / _getNodeType l lst)
- (defun _getNodeType (typ /)
- (cond
- ((= typ 1) "CHILD")
- ((= typ 3) "TEXT")
- ((= typ 4) "CDATA")
- ((= typ 8) "COMMENT")
- (t nil)
- )
- )
- (mapcar
- '(lambda (x / pre nodeValue oldindex)
- (if (setq pre (_getNodeType
- (vlax-get-property x 'nodeType)
- )
- )
- (progn
- (if (= "CHILD" pre)
- (setq nodeValue (vlax-get-property x 'nodeName))
- (setq nodeValue
- (variant-value
- (vlax-get-property x 'nodeValue)
- )
- )
- )
- (if (setq oldindex (assoc pre l))
- (setq
- l
- (subst
- (cons
- pre
- (reverse (cons nodeValue (reverse (cdr oldindex))))
- )
- oldindex
- l
- )
- )
- (setq l (cons (list pre nodeValue) l))
- )
- )
- )
- )
- (XD::XML:Obj->List
- (if (= (vlax-get-property xmlobj 'nodeType) 9)
- (vlax-get (vlax-get xmlobj 'documentElement)
- 'ChildNodes
- )
- (vlax-get xmlobj 'ChildNodes)
- )
- )
- )
- (if (setq lst (mapcar '(lambda (x)
- (variant-value (vlax-get-property x "Value"))
- )
- (XD::XML:Obj->List
- (vlax-get-property xmlobj 'Attributes)
- )
- )
- )
- (cons (cons "ATTR" (reverse lst)) l)
- l
- )
- )
|