2012-02-22 9 views
0

私はアンドロイド用の読み書き/編集XMLのための簡単な例を探しています。ファイルは、アプリケーションファイル構造のres/rawフォルダまたはassets/otherフォルダに保存することができます。しかし、いいえチュートリアルは、簡単なコードサンプルで適切です。

いくつかのチュートリアルでは、SAX、DOMなどのようなさまざまなXMLパーサーについて説明していますが、特定のAPI /パーサーを使用している3つの例すべてを持つ方がよいでしょう。 XMLを読み込むだけのSAXとは異なります。AndroidでDOMを使用してディスク上のファイルを読み書きして編集する

http://www.mkyong.com/java/how-to-modify-xml-file-in-java-dom-parser/ これは良いDOMチュートリアルですが、アンドロイドではありません。私は問題をxmlファイルを格納する場所を決定している! Create InputStream & StreamResultまたはその他のアンドロイドオブジェクトです。単一のAPI /パーサを使用して

SO 2を読んで)1のためのいくつかの簡単な例を指摘してください)3を書き込み)編集/ DOMまたは他を言いますframework-。どちらも含まれています&どのようにそのファイルを格納する1)内部ストレージ2)外部(SD)

これもまた他の初心者に役立ちます。

答えて

1

あなたがまだ援助を利用できる場合は、問題のXML部分を書く上でお手伝いしたいと思います。しかし、私はXMLを編集するというテーマについて助けが必要です。文字列解析を使用する場合、XMLを編集する方法を知っていますが、元のXMLファイルを更新する方法についてはわかりません... [私はあなたをそこに紛失した場合は残念です]しかし、私は私に合ったコードを編集してみましょう。 :-)

のAndroidでXMLからの読み込み:)
-Kai(初心者くさい同様)
デモXML

私は願ってXML

public ArrayList<ArrayList<String>> get() { 
      ArrayList<ArrayList<String>> classes = new ArrayList<ArrayList<String>>(); 
      try { 
       boolean inTargetedTag = false; 
       XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser(); 
       parser.setInput(inputStream, null); 
       int eventType = parser.getEventType(); 
       while (eventType != XmlPullParser.END_DOCUMENT) { 
        switch (eventType) { 
        case XmlPullParser.START_TAG: 
         String tagName = parser.getName(); 
         if (tagName.equalsIgnoreCase("UltraSpecialEvent")) { 
          if (parser.getAttributeValue(null, "Name").equals("USE1")) { 
           inTargetedTag = true; 
          } else { 
           inTargetedTag = false; 
          } 
         } if (tagName.equalsIgnoreCase("UltraSpecialInfo")) { 
          if (inTargetedTag) { 
           ArrayList<String> single_Info = new ArrayList<String>(); 
           single_Info.add(parser.getAttributeValue(null, "Name")); 
           single_Info.add(parser.getAttributeValue(null, "Detail")); 
           single_Info.add(parser.getAttributeValue(null, "TimeStamp")); 
           bundled_Info.add(single_Info); 
          } 
         } 
         break; 
        } 
        eventType = parser.next(); 
       } 
      } catch (FileNotFoundException e) { 
      } catch (IOException e) { 
      } catch (Exception e) { 
      } 
      return bundled_Info; 
     } 

を読む

<UltraSpecialEvents> 
    <UltraSpecialEvent Name= "USE1"> 
     <UltraSpecialInfo Name="USI1" Detail="Blah" TimeStamp="hh:mm:ss" /> 
     <UltraSpecialInfo Name="USI2" Detail="Blah Blahs" TimeStamp="hh:mm:ss" /> 
     <UltraSpecialInfo Name="USI3" Detail="And More Blahs" TimeStamp="hh:mm:ss" /> 
    </UltraSpecialEvent> 
    <UltraSpecialEvent Name= "UnusedGarbageStuff't"> 
     <UltraSpecialInfo Name="USI1" Detail="Blah" TimeStamp="hh:mm:ss" /> 
     <UltraSpecialInfo Name="USI2" Detail="Blah Blahs" TimeStamp="hh:mm:ss" /> 
     <UltraSpecialInfo Name="USI3" Detail="And More Blahs" TimeStamp="hh:mm:ss" /> 
    </UltraSpecialEvent> 
</UltraSpecialEvents> 

これは次のように役立ちます:/

関連する問題