<screen id="1">
    <item id="1">
    <item id="2">
</screen>
<screen id="2">
    <item id="1">
    <item id="2">
</screen>
以上是我简化以后的xml
就是不知道怎么解析item???帮忙啊!!!

解决方案 »

  1.   

    一个问题:你用什么parser?以下代码用的是Oracle的,因为据称,for Java的XML Parser里,它是最快的。 Good Luck!
    ----------------------------------------------------------
    import java.io.*;
    import oracle.xml.parser.v2.*;
    import org.xml.sax.*;
    import org.w3c.dom.*;
    ----------------------------------------------------------try {
        DOMParser parser = new DOMParser();///////////////////////////////////////////////////////////
    // ! MODIFY THE PARAMETER WITH YOUR XML STREAM
        parser.parse(YOUR_XML_STREAM);
    ///////////////////////////////////////////////////////////    XMLDocument XmlDoc = theParser.getDocument();    NodeList ScreenList = XmlDoc.selectNodes("//screen");
    // get the screens list
        int ScreenCount = ScreenList.getLength();
    // retreave each screen in ScreenList
        for (int i = 0; i < ScreenCount; i++ ) {
            XMLElement Screen = (XMLElement)ScreenList.item(i);///////////////////////////////////////////////////////////
    // ! DO YOUR OWN JOB
            String str1 = Screen.getAttribute("id");
    ///////////////////////////////////////////////////////////// retrieve the items 
            NodeList ItemList = Screen.getChildrenByTagName("item");
            int ItemCount = ItemList.getLength();
            for (int j = 0; j < ItemCount; j++); {
                XMLElement Item = (XMLElement)ItemList.item(j);///////////////////////////////////////////////////////////
    // ! DO YOUR OWN JOB
            String str1 = Screen.getAttribute("id");
    ///////////////////////////////////////////////////////////
        }} catch (SAXParseException s) {}