XML-документ синтаксического анализа. ИсключениеCreateElement Blackberry - PullRequest
0 голосов
/ 07 октября 2011

Я пытаюсь сделать парсер XML в Blackberry.Но я получаю странную проблему.

import org.w3c.dom.DOMException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.xml.parsers.DocumentBuilder;
import net.rim.device.api.xml.parsers.DocumentBuilderFactory;
import net.rim.device.api.xml.parsers.ParserConfigurationException;

public class HelloWorld extends UiApplication {
    public static void main(String[] args) {
        HelloWorld theApp = new HelloWorld();
        theApp.enterEventDispatcher();
    }

    public HelloWorld() {
        pushScreen(new HelloWorldScreen());
    }
}

final class HelloWorldScreen extends MainScreen {


    public HelloWorldScreen() {    
        super();        
        LabelField title = new LabelField("XML TEST", LabelField.ELLIPSIS
                | LabelField.USE_ALL_WIDTH);
        setTitle(title);
        RichTextField rcfield = new RichTextField("XML TEST!");
        add(rcfield);
        this.doPaint();
        this.invalidate();
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db=null;
        Document doc = null;

        try {
            db = dbf.newDocumentBuilder();          
        } catch (ParserConfigurationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        doc = db.newDocument();         
        try{            
        Element e = doc.createElement("s:Envelop");
        }catch(DOMException ex){
            System.out.println(ex.getMessage());
        }



    }

    public boolean onClose() {
        Dialog.alert("Goodbye!");
        System.exit(0);
        return true;
    }
}

Сообщение об ошибке:

[0.0] DOMException
[0.0] No detail message
[0.0] net_rim_xml(4C48DD8C)
[0.0]  DOMInternalRepresentation
[0.0]  isNCName
[0.0]  0x3930
[0.0] net_rim_xml(4C48DD8C)
[0.0]  DOMDocumentImpl
[0.0]  createElement
[0.0]  0x4CC
[0.0] VM:+CR
[0.0] VM:-CR=7

Код ошибки 5: НЕВЕРНАЯ ОШИБКА ХАРАКТЕРА Возможно, символ ":" является недопустимым символом?Но он прекрасно работает на Android: / Я не знаю, как ее решить: (

1 Ответ

1 голос
/ 07 октября 2011

Вы пытаетесь создать элемент пространства имен, но вы не определили префикс "s" или его URI пространства имен, прежде чем пытаться использовать их. Используйте Document.createElementNS() для создания элемента пространства имен вместо Document.createElement().

Либо попробуйте позвонить DocumentBuilderFactory.setAllowUndefinedNamespaces(true) перед вызовом newDocumentBuilder() или DocumentBuilder.setAllowUndefinedNamespaces(true) перед вызовом newDocument().

...