【仅供内部供应商使用,不提供对外解答和培训】

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

在调用了reader.readXMLObject(config);这句之后,就将xml中设置的属性赋值给了config对象了。

读写自身属性

上面我们看到了再WorkBook中读写其属性SomeConfig的的方法,这一节我们再看一下SomeConfig本身的属性如何去读写。上面我们看到了在WorkBook中读写其属性SomeConfig的方法,这一节我们再看一下SomeConfig本身的属性如何去读写。

Code Block
languagejava
titleSomeConfig源码
collapsetrue
public class SomeConfig extends AbstractIOFileAttrMark {

    private int status = 0;

    public SomeConfig() {

    }

    public SomeConfig(int status) {
        this.status = status;
    }

    public int getStatus() {
        return status;
    }

    @Override
    public String xmlTag() {
        return "SomeConfig";
    }

    @Override
    public SomeConfig clone() {
        SomeConfig cloned = (SomeConfig) super.clone();
        cloned.status = status;
        return cloned;
    }

    @Override
    public void readXML(XMLableReader reader) {
        if (reader.isChildNode()) {
            String tagName = reader.getTagName();
            if ("Attr".equals(tagName)) {
                status = reader.getAttrAsInt("status", 0);
            }
        }
    }

    @Override
    public void writeXML(XMLPrintWriter writer) {
        writer.startTAG("Attr");
        writer.attr("status", status);
        writer.end();
    }
}

...

同样的,读xml的时候,也是通过判断是否读到了Attr节点,来进行属性读取。