使用 MSXML 在 Xml 中遍历节点

Posted

技术标签:

【中文标题】使用 MSXML 在 Xml 中遍历节点【英文标题】:Node traverse in Xml using MSXML 【发布时间】:2009-08-12 07:01:19 【问题描述】:

我正在尝试遍历节点属性..在下面的 xml 中,我需要在属性值“1”或“2”匹配中附加一个新节点..如何使用 MSXML 属性编写代码..帮助我 即通过属性浏览xml ...

<data>
    <menu id="**1**">
        <existes>01</existes>
    </menu>
    <menu id="**2**">
       <existes>1</existes>
       <existes>2</existes>
   </menu>
    <  menu id="**3**">
    <existes>2</existes>
   </menu>
</data>

【问题讨论】:

之后应该出现什么:“在属性值中附加一个新节点”,请显示示例。 data\1 if found '1' 表示追加到新节点下面...这里不直接考虑'menu'... 【参考方案1】:

假设您知道如何遍历文档中的节点。 MSXML 公开遍历 IXMLDOMNode - 您需要将其转换为 IXMLDOMElement (在 c++ 中使用 C# 或 VB 中的 QueryInterface 只需转换为预期的接口)。 IXMLDOMElement - 具有可枚举的属性“属性” - 因此您可以迭代元素的所有属性。

【讨论】:

以上是关于使用 MSXML 在 Xml 中遍历节点的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中循环遍历 XML 的特定节点

使用 XML::LibXML 遍历节点

C#不能查询XML但可以遍历节点?

如何根据标签的值在xml中遍历到不同的节点

Java xml遍历

遍历xml文件并将内容存储在Textfield c#中