2013-06-26 2 views
0

iam이 mgwt를 사용하여 모바일 앱을 빌드합니다. 이 응용 프로그램은 xml 파일에서 오는 내용으로 구성된 목록으로 구성됩니다. 앱을 통해이 XML 파일에 새 콘텐츠를 추가하려고합니다. 여기 gwt 새로운 자식 노드를 xml 파일에 추가합니다.

는 XML 파일입니다

<?xml version="1.0" encoding="UTF-8"?> 
<root> 
    <options> 
      <option>c1 A</option> 
      <option>c1 B</option> 
    </options> 
</root> 

스피가 < 옵션> 부모 내에서 새로운

<option>c1 C </option> 

태그를 추가하려고, 그래서 결과는이 될 것입니다.

<?xml version="1.0" encoding="UTF-8"?> 
<root> 
    <options> 
      <option>c1 A</option> 
      <option>c1 B</option> 
      <option>c1 C </option> 
    </options> 
</root> 

나는 다음 코드로 시도하지만 아무 일도 일어나지 않습니다.

RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, GWT.getHostPageBaseURL()+"folderName/fileName.xml"); 
    try{ 
     builder.sendRequest(null, new RequestCallback() { 

      @Override 
      public void onResponseReceived(Request request, Response response) { 
       Document document = XMLParser.parse(response.getText()); 


       Element elementRoot = document.getDocumentElement(); 

       Element options = (Element)elementRoot.getElementsByTagName("options").item(0); 

       Element optionElement = document.createElement("option"); 
       optionElement.appendChild(document.createTextNode("c1 C")); 

       options.appendChild(optionElement); 

      } 

      @Override 
      public void onError(Request request, Throwable exception) { 

      } 
     }); 
    }catch(RequestException e){ 
     Window.alert("Unable to build the request."); 
    } 

무엇이 잘못 되었나요? 도와주세요.

+0

이 코드는 새로운

답변

1

phonegap 컨테이너에서 코드를 실행하는 경우 GWT.getHostPageBaseURL()은 장치의 file : // somepath를 가리 킵니다. 나는 당신이 서버에서 데이터를로드하려는 것 같아요. 적절한 URL을 사용해야합니다.

반면에 브라우저에서의 XML 처리는 매우 느리고 JSON을 대체 형식으로 사용하는 것을 고려해야합니다.

+0

아니요, 앱의 가장 높은 부분은 cellLists로 구성되며이 셀 목록에 표시되는 콘텐츠는 mgwt 프로젝트의 war 폴더에있는 XML 파일에서 각각 android-mgwt의 assets/www 폴더에 저장됩니다 -앱. xml 파일의 내용은 RequestBuilder를 통해 CellLists에로드됩니다. 이 xml 파일에 앱을 통해 새로운 데이터를 추가하고 싶습니다. 새 정보는 새로 고침 후 셀 목록에 표시되어야합니다. – Pero

관련 문제