找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1402|回复: 0

[文件] (XD::XML:SetNodeProperties)设置节点属性

[复制链接]

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-2-8 09:26:33 | 显示全部楼层 |阅读模式
函数发布
函数名称: XD::XML:SetNodeProperties
调用格式: (XD::XML:SetNodeProperties xmlobj lst)
参数说明: xmlobj ---- xml dom
lst ---- 表
返回值:
函数简介: 设置节点 attribute text comment cdata
函数来源: 原创
函数作者: st788796
适用版本: 不限 
最后更新时间: 2014-02-08
备注: -
演示图片: -

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  1. ;|
  2. 2 attribute
  3. 3 "TEXT"
  4. 4 "CDATA"
  5. 8 "COMMENT"
  6. |;
  7. ;;("ATTR" "test") or ("ATTR" ("lang" "en"))
  8. ;;(("ATTR" ("lang" "en")) ("TEXT" "dddde" "ddere") ("COMMENT" "dfafa" "fasfdsa") ("CDATA" "fadsfsa" "fdasfa" "adafa"))
  9. (defun XD::XML:SetNodeProperties
  10.        (xmlobj lst / _getnodeType _setattribute _setproperty doc)
  11.   (defun _getnodeType (str)
  12.     (setq str (strcase str))
  13.     (cond
  14.       ((= str "ATTR") 2)
  15.       ((= str "TEXT") 'createTextNode) ;_
  16.       ((= str "COMMENT") 'createComment) ;_
  17.       ((= str "CDATA") 'createCDATASection) ;_
  18.       (t nil)
  19.     )
  20.   )
  21.   (defun _setattribute (node lst)
  22.     (if        (= (type lst) 'STR)
  23.       (setq lst (list "atttribute" lst))
  24.     )
  25.     (vl-catch-all-apply
  26.       'vlax-invoke-method
  27.       (append (list node "setAttribute") lst)
  28.     )
  29.   )
  30.   (defun _setproperty (node func lst /)
  31.     (setq element (vlax-invoke-method
  32.                     (vlax-get-property node 'ownerDocument)
  33.                     func
  34.                     ""
  35.                   )
  36.     )
  37.     (vlax-put-property element 'text lst)
  38.     (vlax-invoke-method node 'appendChild element)
  39.   )
  40.   (if (= (vlax-get-property xmlobj 'nodeType) 9)
  41.     (setq doc xmlobj)
  42.     (setq doc (vlax-get-property xmlobj 'ownerDocument))
  43.   )
  44.   (mapcar
  45.     '(lambda (x)
  46.        (mapcar '(lambda        (a / typ tag att)
  47.                   (setq typ (_getnodeType (car x)))
  48.                   (if (= typ 2)
  49.                     (_setattribute xmlobj a)
  50.                     (_setproperty xmlobj typ a)
  51.                   )
  52.                 )
  53.                (cdr x)
  54.        )
  55.      )
  56.     lst
  57.   )
  58. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 19:24 , Processed in 0.176193 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表