Разбор XML с помощью SAX-парсера в BlackBerry - PullRequest
0 голосов
/ 29 декабря 2010

Я ищу код синтаксического анализатора SAX в blackberry для анализа XML-документа, получения XML-документа и обновления XML-документа.Я новичок в синтаксическом анализаторе SAX.

Моя строка XML имеет следующий тип:

<users>
   <user  uid = "1"  dispname="Yogesh C" statid="1" statmsg="1">Yogesh Chaudhari</user>
</users>

Я должен проанализировать приведенную выше строку с анализатором SAX.

1 Ответ

1 голос
/ 29 декабря 2010

Кажется, что ваша серия вопросов на эту тему складывается из: Могу ли я иметь код для читаемой / записываемой базы данных, которая использует файлы в формате XML на SDCard для хранения?

Это больше, чем я имею право отвечать, но вот рабочий пример кода, который я использовал, когда тестировал XML на BB. Надеюсь, это поможет вам начать, и могу ли я получить код базы данных, когда вы закончите? ;)

public class XmlManager {

    protected Document document;

    //protected Log log = new Log("XmlManager");

    public XmlManager(String file) {
       FileConnection fc = null;
       InputStream inputStream = null;
       try {
           DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
           DocumentBuilder builder = factory.newDocumentBuilder();
           fc = (FileConnection)Connector.open(file, Connector.READ);
           inputStream = fc.openInputStream();  
           document = builder.parse( inputStream );
       } catch (Exception e) {
           //log.error("builder.parse", e);   
       } finally {
           try {
               if (fc!=null) fc.close();
               if (inputStream!=null) inputStream.close();
           } catch (Exception e) {
               //log.error("close", e);
           } 
       }
    }

    public String readApiString(String tag) {       
        Element root=document.getDocumentElement();
        NodeList list = root.getElementsByTagName(tag);
        return(list.item(0).getFirstChild().getNodeValue());
    }

пример xml:

<myuniquetagname>foo</myuniquetagname>

пример использования:

XmlManager xmlManager = new XmlManager("file:///SDCard/BlackBerry/documents/myfile.xml");
String foo = xmlManager.readApiString("myuniquetagname");
...