To get the element's children (which may be subelements, text,
comments, or other nodes), use the getChildNodes method. That
method returns a collection of type NodeList. That type was
invented before the standard Java collections, and it has a
different access protocol. The item method gets the item with a
given index, and the getLength method gives the total count of
the items. Therefore, you can enumerate all children like this:
NodeList children = root.getChildNodes();
for (int i = 0; i < children.getLength(); i++)
{
Node child = children.item(i);
. . .
}
You have to be careful when analyzing the children. Suppose
for example that you are processing the document
<font>
<name>Helvetica</name>
<size>36</size>
</font>
You would expect the font element to have two children, but
the parser reports five:
The whitespace between <font> and <name>
The name element
The whitespace between </name> and <size>
The size element
The whitespace between </size> and </font>
If you only expect subelements, then you can ignore the
whitespace:
for (int i = 0; i < children.getLength(); i++)
{
Node child = children.item(i);
if (child instanceof Element)
{
Element childElement = (Element)child;
. . .
}
}
org.w3c.xml 中 getChildNodes()方法需要注意
最新推荐文章于 2018-08-07 11:05:53 发布