VBA XML如何从子节点获取Parent属性?

时间:2014-09-18 19:00:16

标签: xml vba nodes

我有一个搜索屏幕,您可以在其中选择不同的选项(子节点项)。在点击搜索之后,我想通过XML文档并检索父节点属性。例如:

<?xml version="1.0" encoding="UTF-8"?>
<brands>
  <BrandA Name="A Brand">
     <Color>Black</Color>
     <Thickness>1"</Thickness>
     <Texture>Smooth</Texture>
  </BrandA>
  <BrandB Name="B Brand">
     <Color>Red</Color>
     <Thickness>2"</Thickness>
     <Texture>Smooth</Texture>
  </BrandB>
  <BrandC Name="C Brand">
     <Color>Green</Color>
     <Thickness>3"</Thickness>
     <Texture>Rough</Texture>
  </BrandC>
</brands> 

如果有人从“粗糙”纹理中搜索,我怎样才能获得BrandC Name的父节点?

VBA代码:

For Each T In objDom.getElementsByTagName("Texture") 

    MsgBox T.Text 'For testing to see what it returns (all 3 textures).

If ComboBox3.Value = T.Text Then
    'For testing: This returns all matching textures that was selected.
    MsgBox T.ParentNode.Text 
End If

因此,这将返回品牌名称,颜色,厚度,质地的所有内容。我只需要品牌名称IE“C Brand”。

1 个答案:

答案 0 :(得分:2)

而不是T.ParentNode.Text我相信你会想要T.ParentNode.Attributes.getNamedItem("Name").Text