【问题标题】:How to get value of node list in xml dom parser?如何在 xml dom 解析器中获取节点列表的值?
【发布时间】:2012-08-25 05:12:15
【问题描述】:

我有一个看起来像这样的 XML::

<Channels>
       <Channel Id="511" Title="Test" ChannelDescription="This is Test Channel./>
</Channels>

我成功解析了这种 XML。我的问题是,当我触发 web 服务时,如果没有来自服务器的身份验证,那么 web 服务响应如下::

<AuthenticationError>An Active Session Already Exists For This User.</AuthenticationError>

那么我如何检查根节点是“身份验证错误”或“注释”。如果我得到身份验证错误标签,那么我怎样才能得到它的节点值,即“此用户的活动会话已经存在。”??

XML 解析的代码是这样的::

NodeList node =null;
node= (NodeList)result.getElementsByTagName("Channels");


for(int j=0;j<node.getLength();j++)
{                             
Node aNode=node.item(j);  
Element fstElmnt = (Element) aNode;

NodeList websiteList = fstElmnt.getElementsByTagName("Channel");
int check=websiteList.getLength();

for(int k=0;k<check;k++)
{
    DatabaseConstant myChannels = new DatabaseConstant();
    Node checkNode=websiteList.item(k);

    Element websiteElement = (Element) checkNode;                                                                               
    myChannels.id=websiteElement.getAttribute("Id");
    myChannels.title=websiteElement.getAttribute("Title");

    channel .add(myChannels);
    }
}
}

我希望我的问题很清楚...请尽快提供解决方案。在此先感谢....

【问题讨论】:

    标签: android xml xml-parsing xmlnodelist


    【解决方案1】:

    使用getDocumentElement() 获取root Element,然后使用getTagName() 获取标签名称。

    例子:

        Element root = result.getDocumentElement();
        String name = root.getTagName();
    
        if(name.equalsIgnoreCase("AuthenticationError") )
        {
            String value = myDocument.getDocumentElement().getTextContent();
            System.out.println("Error:" + value);
        }
        else if(name.equalsIgnoreCase("Notes") )
        {
           NodeList nodes = root.getElementsByTagName("Channels");
    
           for(int i = 0 ; i < nodes.getLength() ; i ++)
           {
               //-----do something with channels nodes--
           }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-13
      • 2013-06-13
      • 2019-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多