簡體   English   中英

NodeList的java.lang.NullPointerException

[英]java.lang.NullPointerException for NodeList

我的以下代碼有一個例外

  public calculWeightdoc(OWLOntology onto, String xml) {

        for(OWLClass cls: onto.getClassesInSignature()){

        freqConcept(xml, cls);
        System.out.println("la taille de liste : "+list.getLength());

            if(list.getLength()!=0){   
                listConceptRetenus.put(cls, list.getLength());
            }

            else 
                {
                    listConceptRetenus.put(cls, 0);
                }


        }

   }

這是FreqConcept函數

    public void freqConcept(String xmldoc,OWLClass node){
        try {
            String filepath = xmldoc;
            DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
            Document doc = docBuilder.parse(filepath);


             list = doc.getElementsByTagName(node.getIRI().getFragment());


        } catch (ParserConfigurationException pce) {
            pce.printStackTrace();
        } catch (IOException ioe) {
            ioe.printStackTrace();
        } catch (SAXException sae) {
            sae.printStackTrace();
        }
    }

這是一個例外:

Exception in thread "main" java.lang.NullPointerException
at com.sun.org.apache.xerces.internal.dom.DeepNodeListImpl.nextMatchingElementAfter(DeepNodeListImpl.java:199)
at com.sun.org.apache.xerces.internal.dom.DeepNodeListImpl.item(DeepNodeListImpl.java:146)
at com.sun.org.apache.xerces.internal.dom.DeepNodeListImpl.getLength(DeepNodeListImpl.java:117)
at com.onto.weight.document.calculWeightdoc.<init>(calculWeightdoc.java:59)
at com.onto.weight.document.Main_Class_une_seule_onto.main(Main_Class_une_seule_onto.java:70)

實際上,相同的代碼對於某些本體(例如擁有60個課程的人)是完美的,但是對於其他擁有大量重要課程的人(例如擁有1173個課程的Dbpedia)來說,它是行不通的,我不確定這是問題還是其他原因...
例外情況是該函數calculWeightdoc(OWLOntology onto, String xml)那一行list.getLength() calculWeightdoc(OWLOntology onto, String xml)

感謝您分享可能幫助解決該問題的任何想法。

僅當輸入未失敗解析時才進行列表初始化。 列表初始化時是否出現任何堆棧跟蹤信息? 如果是這樣,則列表保留為空。 為避免此問題,請在訪問列表之前檢查該列表是否為空。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM