0
我期待在XML之間的分割節點解析解析拉的方法來解析以下文件:XMLPull - 基類和派生類
<layout>
<button height="20" width="20" text="Hello world" />
<image height="10" width="10" img="foo.png" />
</layout>
,併產生相應的Java對象。我有一個抽象基類組件,它的職責是描述一個具有高度和寬度的通用組件,它應該能夠通過解析傳遞的「節點」的相應XML屬性來獲得這些值(更確切地說,解析器指向該節點)。
派生自組件,我有兩個具體的類Button和Image,分別添加一個文本和一個圖像。他們應該能夠從XML屬性初始化這些值。
這是類實現草圖:
public abstract class Component {
public int width;
public int height;
public Component(XmlPullParser parser) {
//TODO ???
}
}
public class Button extends Component {
public String text;
public Button(XmlPullParser parser) {
super(parser);
//TODO ???
}
}
public class Image extends Component {
public String img;
public Image(XmlPullParser parser) {
super(parser);
//TODO ???
}
}
的問題是,如何實現解析,獲取這種行爲?我主要關心的是,當你在解析器上調用nextTag()時,解析器本身是「修改的」。因此,如果Component超類讀取整個節點以獲取寬度和高度(調用super()構造函數),派生類如何讀同一個節點來初始化它自己?
感謝;)