Удаление тегов из XML-файла для BlackBerry - PullRequest
0 голосов
/ 21 июля 2011

Я занимаюсь разработкой приложения для BlackBerry, которое нужно читать из XML-файла.Я могу прочитать его, но я хотел бы удалить теги, такие как <?xml version='1.0' encoding='UTF-8'?>, <feed>, <author> и т. Д. *

Я использую симулятор BlackBerry 9800.

Проверили, что мой файл - это файл Atom 1.0.Итак, как мне удалить эти теги?

В настоящее время мои коды взяты из того, что я получил из Интернета.Но он отображает только «id» и «обновленную» дату файла.Как я могу отобразить / отфильтровать определенные данные и удалить теги?

Спасибо, Хенд

 class MyApp extends UiApplication{
//creating a member variable for the MainScreen
MainScreen _screen= new MainScreen();
//string variables to store the values of the XML document
String _node,_element;
Connection _connectionthread;

public static void main(String arg[]){
    MyApp application = new MyApp();
    //create a new instance of the application
    //and start the application on the event thread
    application.enterEventDispatcher();
}

public MyApp() {
    _screen.setTitle("XML Parsing");//setting title
    _screen.add(new RichTextField("Requesting....."));
    _screen.add(new SeparatorField());
    pushScreen(_screen); // creating a screen
    //creating a connection thread to run in the background
    _connectionthread = new Connection();
    _connectionthread.start();//starting the thread operation
}

public void updateField(String node, String element) 
{    
    synchronized (UiApplication.getEventLock()) 
    {
        String title = "My App";
        _screen.add(new RichTextField(node + " : " + element));
        if (node.equals(title))
        {
            _screen.add(new SeparatorField());
            }
        }
    } 


private class Connection extends Thread{
    public Connection(){
        super();
    }

    public void run(){
        // define variables later used for parsing

        Document doc;
        StreamConnection conn;

        try{
            //providing the location of the XML file,
            //your address might be different
            conn=(StreamConnection)Connector.open
              ("http://www.google.com");
            //next few lines creates variables to open a
            //stream, parse it, collect XML data and
            //extract the data which is required.
            //In this case they are elements,
            //node and the values of an element
            DocumentBuilderFactory docBuilderFactory
              = DocumentBuilderFactory. newInstance(); 
            DocumentBuilder docBuilder
              = docBuilderFactory.newDocumentBuilder();

            docBuilder.isValidating();
            doc = docBuilder.parse(conn.openInputStream());
            doc.getDocumentElement ().normalize ();
            NodeList list=doc.getElementsByTagName("*");
            _node=new String();
            _element = new String();
            //this "for" loop is used to parse through the
            //XML document and 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);
                _node=list.item(i).getNodeName();
                _element=value.getNodeValue();
                updateField(_node,_element);
            }//end for
        }//end try
        //will catch any exception thrown by the XML parser
        catch (Exception e){
            System.out.println(e.toString());

        }
      }//end connection function
  }// end connection class
}//end XML_Parsing_Sample

1 Ответ

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

Создайте другой метод, который выполняет ту же функцию run (), но ищет другое tagName.Это позволяет считывать и отображать информацию о нескольких тегах.

...