通过属性名称解析XML属性

时间:2018-11-27 15:33:03

标签: xml vb.net

我正在尝试从以下XML(在代码中为items2)获取属性

<?xml version="1.0"?>
<ggg:Ack xmlns:ggg="http://www.ani.com" 
    ggg:errorText="Not Online" 
    ggg:errorCode="offline" 
    ggg:dateTimeSent="2018-11-27T14:46:35.5643816Z" 
    ggg:game="ANI_12345" 
    ggg:host="1"/>

如下面的代码所示,我可以通过elements4(0)和elements(1)来访问游戏和主机

我想按名称而不是数字来获取游戏,主机等的值,因为可能不会返回所有属性 但是我尝试过的一切 elements4(“ game”)和 elements4(“ ggg:game”)得到一个xml异常,我似乎找不到原因了

For Each item2 In elements2 'item2 = the xml above
     Dim elements4 = item2.Attributes
     host = elements4(0)
     game = elements4(1)
     Console.WriteLine(host)
     Console.WriteLine(game)
Next

1 个答案:

答案 0 :(得分:0)

首先将此语句添加到代码的开头

   Imports <xmlns:ggg="http://www.ani.com">

然后测试我做到了

    Dim xe As XElement
    xe = <ggg:Ack xmlns:ggg="http://www.ani.com" ggg:errorText="Not Online"
             ggg:errorCode="offline"
             ggg:dateTimeSent="2018-11-27T14:46:35.5643816Z"
             ggg:game="ANI_12345"
             ggg:host="1"/>

    Dim game As String = xe.@ggg:game