Пустые теги возвращают пустое исключение при разборе XML в Blackberry - PullRequest
0 голосов
/ 30 марта 2012

У меня возникли проблемы при разборе Xml в blackberry. Если Xml содержит пустой тег. код возвращает исключение Null .. Некоторые решения предлагают использовать попробовать и поймать .. Что мне делать, чтобы решить эту проблему ????

и это код синтаксического анализа

 DocumentBuilderFactory docBuilderFactory= DocumentBuilderFactory. newInstance(); 
             DocumentBuilder docBuilder= docBuilderFactory.newDocumentBuilder();
             docBuilder.isValidating();
             doc = docBuilder.parse(conn.openInputStream());

             doc.getDocumentElement ().normalize ();
             list=doc.getElementsByTagName("*");
             node=new String();
             element = new String();

             //this "for" loop is used to extract all elements and their value, so they can be displayed on the device

             for (int i=0;i<list.getLength();i++){
                 Node value=list.item(i).getChildNodes().item(0);
                 //getting attribute ==> Node value=list.item(i).getAttributes().item(0);


                 node=list.item(i).getNodeName();
                 element=value.getNodeValue();
                 if(node.equals("Name")){
                 //  some code goes here

Пустые теги, такие как: или

Ответы [ 2 ]

0 голосов
/ 20 апреля 2012

// Текст - это имя вашего тега.

NodeList _textNdList = doc.getElementsByTagName(Text);  

String result = getXMLTagValue(_textNdList,0);

public static String getXMLTagValue(NodeList node,int id)
    {
        if(node.item(id).getChildNodes().item(0) == null)
            return "";
        else
            return node.item(id).getChildNodes().item(0).getNodeValue();
    }

Это тебе поможет. Я также столкнулся с той же проблемой. И я решил это, используя это.


`

0 голосов
/ 31 марта 2012

Какая часть вашего кода вызывает исключение нулевого указателя? Ваш код, по-видимому, предполагает, что все результаты, возвращаемые getElementsByTagName, будут иметь дочерние узлы, что является проблематичным, поскольку запрос относится ко всем узлам в документе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...