使用Golang解组后如何检查XML中的所有元素和属性?

问题描述

我想检查给定XML文件中的所有元素和属性是否正确拼写。我的想法是使用"encoding/xml"(也许是地图?)将XML解组为某种数据结构,然后显式检查每个元素和属性的拼写是否正确。

我如何将任何有效的XML文件解组到类似地图的数据结构中,以检查所提供的XML是否有效?

这是一个具体的例子:

比方说,我有以下XML文件,其中的元素和属性是通过特定模式定义的:

<?xml version="1.0" encoding="utf-8"?>

<servers version="1">
    <server>
        <model name="Cisco" type="modelA"></model>
        <serverName>Tokyo_VPN</serverName>
        <serverIP>127.0.0.1</serverIP>
    </server>
    <server>
        <model name="Dell" type="modelB"></model>
        <serverName>Moscow_VPN</serverName>
        <serverIP>127.0.0.2</serverIP>
    </server>
</servers>

由此,有效的元素和属性为:serversservermodelnametypeserverNameserverIP

这是具有错误拼写的元素的XML:

<?xml version="1.0" encoding="utf-8"?>

<servers version="1">
    <router>
        <modell nambe="Cisco" typre="modelA"></model>
        <serverNameR>Tokyo_VPN</serverNameR>
        <serverIP>127.0.0.1</serverIP>
    </router>
</servers>

请注意,这是有效的XML,但不遵循我的架构。因此,如果我能弄清楚如何将任何XML汇总到地图中,就可以检查每个键是否有效。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)