سؤال

أعلم أن المتصفحات تدعم XML مع نهج DOM

لديّ تطبيق يستخدم ملف GWT وتحميله على الخادم ، عند اكتمال التحميل ، أحتاج إلى الخادم للرد على العميل مع حبة لأن هذا هو تحميل الملف ، يتم التعامل مع الاستجابة بواسطة servlet.

أنا قادر على قراءة سلسلة في العميل من خلال قراءة الإخراج الذي تنتجه Servlet. أخطط لتحويل الفول إلى هيكل يشبه XML الذي سيتم تحويله إلى كائن في العميل.

لذلك ، هل من الممكن لموكلي التعامل مع هذا الرد على أنه XML والتكرار من خلاله؟

هل كانت مفيدة؟

المحلول

انظر أكثر في http://gwt.components.googlepages.com/simplexmlparser

private void parseMessage(String messageXml) {
  try {
    // parse the XML document into a DOM
    Document messageDom = XMLParser.parse(messageXml);

    // find the sender's display name in an attribute of the <from> tag
    Node fromNode = messageDom.getElementsByTagName("from").item(0);
    String from = ((Element)fromNode).getAttribute("displayName"); 
    fromLabel.setText(from);

    // get the subject using Node's getNodeValue() function
    String subject = messageDom.getElementsByTagName("subject").item(0).getFirstChild().getNodeValue();
    subjectLabel.setText(subject);

    // get the message body by explicitly casting to a Text node
    Text bodyNode = (Text)messageDom.getElementsByTagName("body").item(0).getFirstChild();
    String body = bodyNode.getData();
    bodyLabel.setText(body);    

  } catch (DOMException e) {
    Window.alert("Could not parse XML document.");
  }
}

نصائح أخرى

يمكنك أيضًا تحليل XML باستخدام jQuery ، ومن السهل لف المكالمة jQuery مع JSNI في GWT. أقل بكثير من الامتداد كما هو موضح هنا http://marcgrabanski.com/article/jquery-makes-parsing-xml-easy

تحرير: قد يفعل Gwtquery ذلك؟ لست متأكدا ، لأنه ليس منفذ مستقيم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top