Распечатать все атрибуты в xml рекурсивным методом

Проблема в том, почему я не могу найти какие-либо атрибуты от rootElement?

мой xml

<?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>

и мой код такой

    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;
        }
    }
}

когда я отлаживаю в этом методе, я не могу войти во второй, если блок

1 ответ

Решение

Атрибуты не считаются частью содержимого элемента (или ветви) (например, элементы, комментарии или текстовые узлы). Затем вы должны получить их специально, например, с помощью attributeIterator().

Другие вопросы по тегам