2011-05-05 2 views
0

J'essaye de créer et d'écrire un XML dans une application Blackberry en utilisant l'API DocumentBuilder. J'ai écrit la méthode suivante pour créer atleast seul élément et son attribut:XMl Création dans Blackberry en utilisant net.rim.device.api.xml.parsers.DocumentBuilder

private void createResponseXML() 
    { 
    try 
    { 
     // Build a document based on the XML file. 
     DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder builder = factory.newDocumentBuilder(); 

     Document document = builder.newDocument(); 
     Element surveyElement = document.createElement("Survey"); 
     surveyElement.setAttribute("xmlns:abapsurvey", "http://www.sap.com/abapsurvey"); 

     FileConnection fileConnection = (FileConnection) Connector.open("file:///SDCard/survey_response.xml", Connector.READ_WRITE, true); 
     OutputStream outputStream = fileConnection.openOutputStream(); 
     XMLWriter writer = new XMLWriter(outputStream); 
     writer.setPrettyPrint(); 
     DOMInternalRepresentation.parse(document, writer); 
    } 
    catch (Exception ex) 
    { 
     ex.printStackTrace(); 
    } 

    } 

La structure du XML que je suis en train de créer est la suivante:

<?xml version="1.0" encoding="utf-8" ?> 
- <Survey xmlns:abapsurvey="http://www.sap.com/abapsurvey" xmlns:bee="http://www.sap.com/survey/bee" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:htmlb="http://www.sap.com/survey/htmlb" xmlns:out="http://www.w3.org/1999/XSL/Output" xmlns:svy="http://www.sap.com/survey/svy" xmlns:tmp="http://www.sap.com/survey/tmp" xmlns:values="http://www.w3.org/1999/XSL/TransformValues" xmlns:wff="http://www.mysap.com/wff/2001"> 
- <Values> 
- <Question QuestionId="q1"> 
- <Answer AnswerId="id_4214130a0e731678e10000000a114eea"> 
    <Value>id_4214134d0e731678e10000000a114eea</Value> 
    </Answer> 
    </Question> 
- <Question QuestionId="id_421413b20e731678e10000000a114eea"> 
- <Answer AnswerId="id_421413cb0e731678e10000000a114eea"> 
    <Value>id_421413f70e731678e10000000a114eea</Value> 
    </Answer> 
    </Question> 
- <Question QuestionId="id_4214142c0e731678e10000000a114eea"> 
- <Answer AnswerId="id_4214143e0e731678e10000000a114eea"> 
    <Value>id_4214f3f6f3eb3d67e10000000a114eea</Value> 
    </Answer> 
    </Question> 
- <Question QuestionId="id_4214f40cf3eb3d67e10000000a114eea"> 
- <Answer AnswerId="id_42144d6d48021679e10000000a114eea"> 
    <Value>id_42144d9048021679e10000000a114eea</Value> 
    </Answer> 
    </Question> 
    </Survey> 

J'ai créé un dossier sur mon disque dur portable pour simuler la carte SD. Quand j'appelle cette méthode, un fichier XML est créé avec seulement un en-tête comme suit:

<?xml version="1.0"?> 

Pourquoi est-ce que l'élément que je suis en train d'ajouter le code suivant ne se créé dans le fichier XML?

 Element surveyElement = document.createElement("Survey"); 
     surveyElement.setAttribute("xmlns:abapsurvey", "http://www.sap.com/abapsurvey"); 

Veuillez suggérer.

Répondre

1

Vous devez probablement ajouter une autre déclaration après serverElement.setAttrib

doucment.appendChild(surveyElement); 

cette déclaration ajoute l'élément enfant que vous avez créé.

Questions connexes