如何在 Golang 中遍历 XML 数据?

我已经使用 xml.UnMarshal 方法来获取 struct 对象,但它有其自身的局限性。我需要一种方法,可以在不指定确切 xpath 的情况下获取节点内特定类型的所有后代。


例如,我有以下格式的 xml 数据:


<content>

    <p>this is content area</p>

    <animal>

        <p>This id dog</p>

        <dog>

           <p>tommy</p>

        </dog>

    </animal>

    <birds>

        <p>this is birds</p>

        <p>this is birds</p>

    </birds>

    <animal>

        <p>this is animals</p>

    </animal>

</content>

现在我想遍历上面的 xml 并按顺序处理每个节点及其子节点。问题是这种结构不是固定的,元素的顺序可能会改变。所以我需要一种方法,以便我可以像


While(Content.nextnode())

{

   switch(type of node)

   {

      //Process the node or traverse the child node deeper

   }

}


哈士奇WWW
浏览 250回答 3
3回答

万千封印

xmlquery支持将 XML 文档解析为 DOM 树来遍历所有节点,就像 Go 的 html 包一样。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go