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

在使用Golang解组后,如何检查XML中的所有元素和属性?,xml,go,schema,unmarshalling,Xml,Go,Schema,Unmarshalling,我想检查给定XML文件中的所有元素和属性是否拼写正确。我的想法是使用“encoding/XML”(可能是映射?)将XML解组到某个数据结构中,然后显式检查每个元素和属性的拼写是否正确 如何将任何有效的XML文件解组到类似于地图的数据结构中,以检查所提供的XML是否有效 下面是一个具体的例子: 假设我有以下XML文件,其中的元素和属性使用特定模式定义: <?xml version="1.0" encoding="utf-8"?> <ser

我想检查给定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>

请注意,这是有效的XML,但不遵循我的模式。因此,如果我能找出如何将任何XML汇总成地图之类的东西,我可以检查每个键是否有效。

这是否回答了您的问题@Shubhamsravastava没有,所以我问了一个修改后的问题。
<?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>