...
| Code Block |
|---|
| language | xml |
|---|
| title | 忽略不重要节点后的xml文件 |
|---|
| collapse | true |
|---|
|
<?xml version="1.0" encoding="UTF-8"?>
<WorkBook xmlVersion="20151125" releaseVersion="8.0.0">
<Report class="com.fr.report.worksheet.WorkSheet" name="sheet1">
<DesignerVersion DesignerVersion="IAA"/>
<PreviewType PreviewType="0"/>
</WorkBook> |
然后我们使用给模板增加一个额外的属性的插件,简单的打开一个额外属性设计界面并保存,可以看到模板的xml文件(忽略掉不重要节点后)大概是这样的
| Code Block |
|---|
| language | xml |
|---|
| title | 额外属性 |
|---|
| collapse | true |
|---|
|
<?xml version="1.0" encoding="UTF-8"?>
<WorkBook xmlVersion="20151125" releaseVersion="8.0.0">
<Report class="com.fr.report.worksheet.WorkSheet" name="sheet1">
<DesignerVersion DesignerVersion="IAA"/>
<PreviewType PreviewType="0"/>
<SomeConfig class="com.fr.plugin.io.file.SomeConfig">
<Attr status="100"/>
</SomeConfig>
</WorkBook> |
写入SomeConfig节点的方式,就是在writeXML的时候,调用了
| Code Block |
|---|
|
public void writeConfig(XMLPrintWriter writer, SomeConfig config) {
GeneralXMLTools.writeXMLable(writer, config, "SomeConfig");
} |
同样的,在读取xml的时候,也就是把配置文件转化为WorkBook对象时,在读取SomeConfig节点的时候,是这样的
| Code Block |
|---|
|
protected void readExtra(XMLableReader reader) {
if (reader.isChildNode()) {
String tagName = reader.getTagName();
if (tagName.equals("SomeConfig")) {
SomeConfig config = new SomeConfig();
reader.readXMLObject(config);
this.addAttrMark(config);
}
}
} |
在调用了reader.readXMLObject(config);这句之后,就将xml中设置的属性赋值给了config对象了。