2012-04-01 27 views
0

私は初心者ですので、気をつけてください。 私はノードとその罰金を取得する次のコードを持っています。私は、 'ステータス'ノードに小さな文字列の大文字小文字を使用させようとしましたが、強制終了します。xml要素の先頭文字を大文字にする

私が行ったことは、要素を文字列に変換することです。私は、すべての要素 'e'に大文字のコードを使用できるとわかりましたが、私はむしろそれをステータスとして使用したいと思います。 強制的に閉じるのはなぜですか? 誰かがこれを手伝ってくれますか?

NodeList nodes = doc.getElementsByTagName("line"); 

    for (int i = 0; i < nodes.getLength(); i++) {       
     HashMap<String, String> map = new HashMap<String, String>();  

     Element e = (Element)nodes.item(i); 

     map.put("id", XMLFunctions.getValue(e, "id")); 
     map.put("name", XMLFunctions.getValue(e, "name")); 
     map.put("status", XMLFunctions.getValue(e, "status")); 
     map.put("message", XMLFunctions.getValue(e, "message")); 

     mylist.add(map); 

//element to string 
     Document document = e.getOwnerDocument(); 
     DOMImplementationLS domImplLS = (DOMImplementationLS) document 
      .getImplementation(); 
     LSSerializer serializer = domImplLS.createLSSerializer(); 
     String str = serializer.writeToString(e); 

//capitalization 
     if (str.length() <= 1) { 
      str = str.toLowerCase(); 
     } else { 
      str = str.substring(0, 1).toLowerCase() + str.substring(1); 
     } 
+0

を。 –

+0

04-01 22:32:34.928:W/dalvikvm(5306):threadid = 1:キャッチされない例外(グループ= 0x2aac8578)でスレッドが終了する 04-01 22:32:34.928:E/AndroidRuntime(5306):FATAL EXCEPTION :メイン 04-01 22:32:34.928:E/AndroidRuntime(5306):java.lang.RuntimeException:アクティビティを開始できませんでしたComponentInfo {augment.reality.app/augment.reality.app.Service}:java.lang.RuntimeException: ClassCastExceptionが発生:org.apache.harmony.xml.dom.DOMImplementationImpl – Pete

+0

スレッド[<1>メイン](一時停止(例外はRuntimeException))\t \t ActivityThread.performLaunchActivity(ActivityThread $ ActivityClientRecord、テント)ライン:1659 \t \t ActivityThread.handleLaunchActivity(ActivityThread $ ActivityClientRecord、Intent)行:1675 \t \t ActivityThread.access $ 1500(ActivityThread、ActivityThread $ ActivityClientRecord、インテント)ライン:121 \t \t ActivityThread $ H.handleMessage(メッセージ)ライン:943 \t \t ActivityThread $ H(ハンドラ).dispatchMessage(メッセージ)ライン99 \t \t Looper.loop()行:130 \t \t ActivityThread.main(String []型)ライン:3701 – Pete

答えて

0

、これを試してみてください私は、次のコード使用して、これを解決する:あなたは、エラーログを貼り付ける場合は/スタックトレースが良いだろう

public static String getValue(Element item, String str) {  


     NodeList n = item.getElementsByTagName(str); 

       char[] chars = XMLFunctions.getElementValue(n.item(0)).toLowerCase().toCharArray(); 
       boolean found = false; 
       for (int i = 0; i < chars.length; i++) { 
       if (!found && Character.isLetter(chars[i])) { 
        chars[i] = Character.toUpperCase(chars[i]); 
        found = true; 
       } else if (Character.isWhitespace(chars[i]) || chars[i]=='.' || chars[i]=='\'') { // You can add other chars here 
        found = false; 
       } 
       } 

       return String.valueOf(chars); 
0

str = str.substring(0, 1).toLowerCase().concat(str.substring(1)); 
関連する問題