以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  如何在一节点下添加多个同名节点呀?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=67063)


--  作者:twinsvicki
--  发布时间:9/10/2008 9:52:00 AM

--  如何在一节点下添加多个同名节点呀?
这是xml的结构,我想在detailed节点下添加下面多个同名attr的节点,并在每个attr节点下添加它的attrlabl和attrdef子结点.
- <detailed>
- <attr>
  <attrlabl>ST_CD</attrlabl>
  <attrdef>Street Code</attrdef>
  </attr>
- <attr>
  <attrlabl>ST_NAMEE</attrlabl>
  <attrdef>Street English Name</attrdef>
  </attr>
- <attr>
  <attrlabl>ST_NAMEC</attrlabl>
  <attrdef>Street Chinese Name</attrdef>
  </attr>
  </detailed>

如果把attr三个节点删除,我现在可以成功添加一次attr节点用下面的代码
Dim oRoot     As IXMLDOMElement
Set oRoot = xml_document.selectSingleNode("detailed")
Dim oattr   As IXMLDOMElement
Set oattr = xml_document.CreateElement("attr")
oRoot.appendChild oattr
Set oRoot = xml_document.selectSingleNode("detailed/attr")
Set oAttrlabl = xml_document.CreateElement("attrlabl")
Set oAttrdef = xml_document.CreateElement("attrdef")
oAttrlabl.Text = "ww"
oAttrdef.Text = "qq"
oRoot.appendChild oAttrlabl
oRoot.appendChild oAttrdef
执行完可以添加第一个attr节点,但是再添加一个相同的似乎不能重复执行上面的代码,请问要怎么再重复添加同名的attr节点呢?


--  作者:Qr
--  发布时间:9/10/2008 10:12:00 AM

--  
如果你的代码能够成功添加节点,说明代码没有问题,要再次添加节点,可以再次执行这个代码,节点名不限。添加同名节点不会因为代码的问题拒绝添加,除非你的XML使用DTD或Schema约束,不允许有同名节点。
--  作者:twinsvicki
--  发布时间:9/10/2008 10:42:00 AM

--  
搞定
--  作者:我想学好XML
--  发布时间:9/10/2008 5:29:00 PM

--  
楼主,你能加我Q,一起探讨下么?
我也学解析XML呢
我QQ是446832446
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms