0

私のxmlには、のような空のタグが含まれている可能性があります</title>

問題は、xmlを解析するときに、xmlのこの行に到達すると、nullポインター例外が発生することです。

解析ファイルでこのようなタグを確認するにはどうすればよいですか?

ArrayList<String>textcomment = new ArrayList<String>();         
for(int i = 0;i<nl.getLength();i++) 
{   
    Element e = (Element)nl.item(i);
    // crash on this string find first time a value and second time find </no_of_comments> 
    String noOfcomment = e.getElementsByTagName("no_of_comments").item(0).getFirstChild ().getNodeValue(); 
    aryNoOfcomment.add(i, noOfcomment);
}
4

2 に答える 2

0

解析にはこれを使用できます...

FileInputStream fi = new FileInputStream(dir); 
builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); 
doc =  builder.parse(fi);

NodeList nlorgid = doc.getElementsByTagName("Organization");
String orgidfromxml = ((Element)nlorgid.item(0)).getAttribute("id");
System.out.println(" organization id from xml is "+orgidfromxml);
于 2012-09-13T11:09:42.733 に答える
0

問題のある行は何ですか?

この線ですか?

String noOfcomment = e.getElementsByTagName ("no_of_comments"). item (0). getFirstChild (). getNodeValue ();

すべてを同じ行で取得しているため、そのうちの 1 つが null かどうかを確認しません。

次のように、分離して結果が null かどうかを確認できます。

List<String> yourList = new ArrayList<String>();
NodeList nl = e.getElementsByTagName ("no_of_comments");
if(nl != null){
    for(int i = 0;i<nl.getLength();i++) 
    {   
        Node n = nl.item(i).getFirstChild();
        if(n!=null){
             String value = n.getNodeValue();
             yourList.add(value);
        }
    }
}
于 2012-09-13T11:17:52.537 に答える