2016-03-31 18 views
2

Bu, ilk defa XPath kullanıyorum ve çok basit bir örneği sorgulamaya çalışıyorum.Xpath - değerlendirme işlevi, javax.xml.transform.TransformerException değerini döndürür

javax.xml.transform.TransformerException: com.sun.org.apache.xpath.internal.XPath bu bağlamı kullanarak ifadeyi değerlendiremedim

String xml = "<resp><status>good</status><msg>hi</msg></resp>"; 

    XPathFactory xpathFactory = XPathFactory.newInstance(); 
    javax.xml.xpath.XPath xpath = xpathFactory.newXPath(); 

    InputSource source = new InputSource(new StringReader(xml)); 

    String status = ""; 
    try { 
     status = (String) xpath.evaluate("//resp/status", source,XPathConstants.STRING); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    System.out.println("status=" + status); 

aşağıdaki özel durum alırsınız. com.sun.org.apache.xpath.internal.jaxp.XPathImpl.evaluate adresindeki com.sun.org.apache.xpath.internal.jaxp.XPathImpl.eval (Bilinmeyen Kaynak) adresinden (Bilinmeyen Kaynak) çalıştır (Bilinmeyen Kaynak) at Heandlers.HTTP.x (HTTP.java:74) at Views.Main.main (Main.java:15) Nedeni: java.lang.RuntimeException: com.sun.org.apache.xpath.internal.axes.NodeSequence.setRoot adresinde ( Kaynak) com.sun.org.apache.xpath.internal.axes.LocPathIterator'da bu bağlam kullanılarak ifade değerlendirilemiyor. execute (Bilinmeyen Kaynak) ... 5 başka --------- java.lang.RuntimeException: Bu bağlamı kullanarak ifade değerlendirilemedi com.sun.org.apache.xpath.internal.axes. Com.sun.org.apache.xpath.internal.XPath.execute (Bilinmeyen Kaynak) adresindeki NodeSequence.setRoot (Bilinmeyen Kaynak) Kaynak) com.sun.org.apache.xpath.internal.jaxp.XPathImpl.eval (Bilinmeyen Kaynak)Com.sun.org.apache.xpath.internal.jaxp.XPathImpl.evaluate (Bilinmeyen Kaynak) adresinde bulunan( numaralı telefondan Heandlers.HTTP.x (HTTP.java:74) adreslerine bakın.Main.main (Main.java:15) --------------- bağlı ------------------ javax.xml.xpath.XPathExpressionException: javax.xml. transform.TransformerException: Bu bağlamı kullanarak com.sun.org.apache.xpath.internal.jaxp.XPathImpl.evaluate (Bilinmeyen Kaynak) at Heandlers.HTTP.x (HTTP.java:74) at, ifade değerlendirilemiyor. Views.Main.main (Main.java:15) Nedeni: javax.xml.transform.TransformerException: Bu bağlamı numaralı ifade kullanarak değerlendirilemiyor com.sun.org.apache.xpath.internal.XPath.execute (Bilinmeyen Kaynak) at com.sun.org.apache.xpath.internal.jaxp.XPathImpl.eval (Bilinmeyen Kaynak) ... 3 daha fazla Nedeni: java.lang.RuntimeException: ifadesi bu bağlam kullanılarak değerlendirilemedi. com.sun.org.apache.xpath.internal.axes.NodeSequence.setRoot (Bilinmeyen Kaynak) com.sun.org.apache.xpath.internal.axes.LocPathIterator.execute (Bilinmeyen Kaynak) ... 5 başka durum =

Herhangi bir öneriniz var mı?

cevap

2

Geçersiz bir InputSource kullanıyorsunuz gibi, örn. org.w3c.css.sac.InputSource. org.xml.sax.InputSource’u içe aktardığınızdan emin olun.

İlgili konular