2013-07-08 22 views

回答

0
1. try to take the 2 example 

for a number use this regex 
\d-->Any digit, short for [0-9] 

    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; 
    import org.xml.sax.SAXParseException; 


      try { 

         DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); 
         DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); 
         Document doc = docBuilder.parse (new File("c:\\tmp\\my.xml")); 

         // normalize text representation 
         doc.getDocumentElement().normalize(); 
         System.out.println ("Root element of the doc is " + doc.getDocumentElement().getNodeName()); 


         NodeList listOfBooks = doc.getElementsByTagName("book"); 
         int totalBooks = listOfBooks.getLength(); 
         System.out.println("Total no of books : " + totalBooks); 

         for(int i=0; i<listOfBooks.getLength() ; i++){ 


          Node firstBookNode = listOfBooks.item(i); 
          if(firstBookNode.getNodeType() == Node.ELEMENT_NODE){ 


           Element firstElement = (Element)firstBookNode; 

           System.out.println("Year :"+firstElement.getAttribute("year")); 

           //------- 
           NodeList firstNameList = firstElement.getElementsByTagName("title"); 
           Element firstNameElement = (Element)firstNameList.item(0); 

           NodeList textFNList = firstNameElement.getChildNodes(); 
           System.out.println("title : " + 
             ((Node)textFNList.item(0)).getNodeValue().trim()); 



          } 


         }//end of for loop with s var 


        }catch (SAXParseException err) { 
        System.out.println ("** Parsing error" + ", line " 
         + err.getLineNumber() + ", uri " + err.getSystemId()); 
        System.out.println(" " + err.getMessage()); 

        }catch (SAXException e) { 
        Exception x = e.getException(); 
        ((x == null) ? e : x).printStackTrace(); 

        }catch (Throwable t) { 
        t.printStackTrace(); 
        } 


       } 

///Regex example 

import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

public class RegexMatches 
{ 
    public static void main(String args[]){ 

     // String to be scanned to find the pattern. 
     String line = "This order was places for QT3000! OK?"; 
     String pattern = "(.*)(\\d+)(.*)"; 

     // Create a Pattern object 
     Pattern r = Pattern.compile(pattern); 

     // Now create matcher object. 
     Matcher m = r.matcher(line); 
     if (m.find()) { 
     System.out.println("Found value: " + m.group(0)); 
     System.out.println("Found value: " + m.group(1)); 
     System.out.println("Found value: " + m.group(2)); 
     } else { 
     System.out.println("NO MATCH"); 
     } 
    } 
} 
相關問題