Распечатать все атрибуты в 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().