The problem is why I can't find any attributes from the rootElement?

my xml is

<?xml version="1.0" encoding="GBK"?>

<AccountInfos>
  <!--this is a test for dom4j-->
  <AccountInfo1 WebsiteName="ÐÂÀË" Account="123">Account1</AccountInfo1>
  <AccountInfo2 WebsiteName="ÍøÒ×" Account="123">Account2</AccountInfo2>
</AccountInfos>

and my code is like this

    private void treeWalker(Element element)
{
    int size = element.nodeCount();
    for (int i = 0; i < size; i++)
    {
        Node node = element.node(i);
        if (node instanceof Element)
        {
            treeWalker((Element) node);
        }
        else if(node instanceof Attribute)
        {
            Attribute attribute=(Attribute)node;
            System.out.println(attribute.getName()+":"+attribute.getValue());
        }
        else 
        {
            continue;
        }
    }
}

when I debug in this method I can‘t go into the second if block

有帮助吗?

解决方案

Attributes are not considered part of the Element (or Branch, actually) content (such as Elements, Comments or Text nodes). You must retrieve then specially, e.g. with an attributeIterator().

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top