2012-08-09 2 views
0

친구 내 안드로이드 응용 프로그램에서 xml 파일을 만들고 싶습니다. 나중에 이미지에 대한 변수를 저장하고 싶습니다. (나중에 자원에서 이미지를 가져올 것입니다), 날짜, 시간은 &입니다. 이 모든 것들은 런타임에 cuimg 것입니다. 그래서 XML 파일의 형태로 저장하는 것이 어렵다는 것을 알고 있습니다. 또한이 필라에서 정보를 다시 읽고 싶습니다. 같은 것을 도와주세요.android에서 xml 파일 만들기 및 나중에 해당 파일에서 읽기

친구는 내가 http://www.anddev.org/write_a_simple_xml_file_in_the_sd_card_using_xmlserializer-t8350.html에서 솔루션을 가지고 있지만 지금은이 문제를 직면하고 만 최신 값이 이상 (I 날짜 기능을 사용하여 테스트 한) 마지막 값으로 작성 이 같은

+0

당신은 생성하고 XML 문서를 구문 분석하는'DOM' 또는'SAX' API를 사용할 수 있습니다. – adatapost

+0

@AVD는 나에게 나와있는 튜토리얼/코드를 참조 할 수 있습니까? – onkar

답변

0
저를 도와주세요된다는 것입니다

DOM 또는 SAX API를 사용하여 XML 문서를 만들고 구문 분석 할 수 있습니다.

DocumentBuilderFactory factory=null; 
DocumentBuilder builder=null; 
try { 
    //1 
    factory=DocumentBuilderFactory.newInstance(); 
    builder=factory.newDocumentBuilder(); 

    //2 
    Document document=builder.newDocument(); 

    //3 
    document.setXmlVersion("1.0"); 

    //4 
    Node root=document.createElement("Students"); 


    Element student=document.createElement("Student"); 
    student.setAttribute("class", "1"); 
    Element roll=document.createElement("Roll"); 
    Element name=document.createElement("Name"); 

    roll.appendChild(document.createTextNode("10")); 
    name.appendChild(document.createTextNode("Mr.X")); 

    student.appendChild(roll); 
    student.appendChild(name); 

    root.appendChild(student); 

    document.appendChild(root); 

     //5 
    TransformerFactory transFactory=TransformerFactory.newInstance(); 
    Transformer trans=transFactory.newTransformer(); 

    trans.setOutputProperty(OutputKeys.INDENT, "yes"); 
    trans.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "5"); 

    trans.transform(new DOMSource(document),new StreamResult("file.xml")); 

    } catch (Exception e) { 
     System.out.println(e); 
    } 

이/구문 분석 XML 문서를 읽으려면 :

DOM 샘플 XML 문서를 만들 수

DocumentBuilderFactory factory=null; 
    DocumentBuilder builder=null; 
    Document doc=null; 

    try { 
    factory=DocumentBuilderFactory.newInstance(); 
    builder=factory.newDocumentBuilder(); 

    doc=builder.parse("file.xml"); 

    Element root=doc.getDocumentElement(); //root 

    NodeList list=root.getChildNodes(); 

    for(int i=0;i<list.getLength();i++){ 
    Node node=list.item(i); 
    switch(node.getNodeType()){ 
     case Node.TEXT_NODE: 
        System.out.println("Text Node"); break; 
     case Node.ELEMENT_NODE: 
      case Node.ATTRIBUTE_NODE: 
        System.out.println("Element Node"); 
        NodeList student=node.getChildNodes(); 
        if(node.hasAttributes()){ 
         System.out.println(node.getAttributes() 
           .getNamedItem("class").getTextContent()); 
       } 
      for(int j=0;j<student.getLength();j++){ 
        Node nd=student.item(j); 
          if(nd.getNodeType()==Node.ELEMENT_NODE){ 
          System.out.println(nd.getNodeName() + " " 
             + nd.getTextContent()); 
          } 
      } 
      break; 
     default: 
       System.out.println("Other node"); 
       break; 
      } 
     } 
    } catch (Exception e) { 
     System.out.println(e); 
     }