xml中事件和标记之间的区别

时间:2016-03-02 20:31:08

标签: java android xml

XML中的事件和标记有什么区别?

事件就像大标题,标签是否是字幕?

我怎么知道哪个是事件,哪个是标签?

所以在下面的代码中,我从这个XML文件中获取事件和标签。

我看到标签以某种方式隐藏在xml文件中,就像每个事件一样,它会通过标签,但我想知道如何分辨两者之间的确切区别

public boolean process (){
    boolean status = true;
    Application currentRecord = null;
    boolean inEntry = false;
    String textValue = "";

    try {
        XmlPullParserFactory factory = XmlPullParserFactory.newInstance().newInstance();
        factory.setNamespaceAware(true);
        XmlPullParser xpp = factory.newPullParser();
        xpp.setInput(new StringReader(this.xmlData));
        int eventType = xpp.getEventType();

        while(eventType != XmlPullParser.END_DOCUMENT){
            String tagName = xpp.getName();
            switch (eventType){
                case XmlPullParser.START_TAG:
                    Log.d("ParseApplications", "Starting Tag for " + tagName);
                    if (tagName.equalsIgnoreCase("entry")) {
                        inEntry = true;
                        currentRecord = new Application();
                    }
                    break;

                case XmlPullParser.TEXT:
                    textValue = xpp.getText();
                    break;

                case XmlPullParser.END_TAG:
                    Log.d("ParseApplication", "Ending Tag for " + tagName);
                    if (inEntry){
                        if (tagName.equalsIgnoreCase("entry")){
                            applications.add(currentRecord);
                            inEntry = false;
                        }
                        else if (tagName.equalsIgnoreCase("name")){
                            currentRecord.setName(textValue);
                        }
                        else if (tagName.equalsIgnoreCase("artist")){
                            currentRecord.setArtist(textValue);
                        }
                        else if (tagName.equalsIgnoreCase("release date")){
                            currentRecord.setReleaseDate(textValue);
                        }
                    }
                    break;
                default :

            }
            eventType = xpp.next();

1 个答案:

答案 0 :(得分:1)

XML文件由一组标记组成,应使用XML Schema或DTD(旧样式)定义。

某些XML解析器与您使用的XML解析器一样,是事件驱动的。这意味着他们按顺序读取XML文件,并在遇到特定元素时引发事件,例如开始标记,标记内的文本结束标记。通过这些事件,他们向解析器的调用者发出信号,在XML的内容中,解析已经到达,如果调用者决定使用特定标记执行某些操作,那么它将对事件做出反应。

总而言之,当解析器遇到XML文件的元素(如标记)时会引发事件。另一方面,标签是XML文件的构建块。