public class abc
{
public static void main(String[] args)
{ StringBuffer str = new StringBuffer();
str.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
str.append("<Message>\n");
str.append("<item sysid=\"0011\" userid=\"0012\" smid=\"0013\" mobile=\"13691324865\" content=\"会议通知\" />\n");
str.append("<item sysid=\"0011\" userid=\"0012\" smid=\"0013\" mobile=\"13691324865\" content=\"12abc6\" />\n");
str.append("<item sysid=\"0011\" userid=\"0012\" smid=\"0013\" mobile=\"13691324865\" content=\"12abc6\" />\n");
str.append("</Message>\n"); String content = str.toString();
// System.out.println(content);
DomParse.parse(content);
}}package exercise;import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;public class DomParse
{
public static void parse(String str)
{
str = str.replaceAll("UTF-8", "gb2312");// 替换为gb2312,可以支持中文
byte[] b = str.getBytes();
InputStream ip = new ByteArrayInputStream(b);
//得到DOM解析器的工厂实例
DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();
try
{
//从DOM工厂获得DOM解析器
DocumentBuilder dombuilder = domfac.newDocumentBuilder();
//解析XML文档的输入流,得到一个Document
Document doc = dombuilder.parse(ip);
//得到XML文档的根节点
Element root = doc.getDocumentElement();
//得到节点的子节点
NodeList smss = root.getChildNodes();
if (smss != null)
{
int length = smss.getLength();
System.out.println(length);
// for (int i = 0; i < smss.getLength(); i++)
// {
// Node sms = smss.item(i);
// Node node = sms.getFirstChild();
// if (node != null)
// {
// System.out.println("node != null");
// } else if (node == null)
// {
// System.out.println("node == null");
// }
// for (; node != null; node = node.getNextSibling())
// {
// if (node.getNodeType() == Node.ELEMENT_NODE)
// {
// if (node.getNodeName().equals("item"))
// {
// String mobile = node.getAttributes()
// .getNamedItem("lib").getNodeValue();
// System.out.println("lib:" + mobile);
// }
// }
// }
// }
}
} catch (Exception e)
{
e.printStackTrace(); }
}
}
为什么这个 XML 文件 有 7个 节点呢 
不是应该 3 个吗 
不理解 那位高手 告诉我 这么数