我想解析Java中使用簡單的XML框架的Iptables XML配置。閱讀空元素
我被困在這一塊配置的行爲元素,比如閱讀:
<actions>
<DROP />
</actions>
如何我在Java中的DROP元素存在XML文件中的檢查?
我想解析Java中使用簡單的XML框架的Iptables XML配置。閱讀空元素
我被困在這一塊配置的行爲元素,比如閱讀:
<actions>
<DROP />
</actions>
如何我在Java中的DROP元素存在XML文件中的檢查?
假設actions
映射到類似這樣的一類:
@Root(name = "actions")
public class Actions
{
@Element(name = "DROP", required = false)
private String drop;
// ...
public String getDrop()
{
return drop;
}
}
如果你不想做drop
是空的,你可以註釋它作爲需要:
@Element(name = "DROP", required = true)
private String drop;
的如果drop
爲空,則參數required = true
將引發異常。如果不允許使用空的drop
,則可以使用它。
第二種方法是設置required = false
;那麼它將被反序列化的null
如果它是空的:
@Element(name = "DROP", required = false)
private String drop;
// Test if 'drop' is empty:
Actions a = ...
boolean isEmpty = (a.getDrop() == null);
現在可以檢查下降是否由null
(=空)或不null
(=設置)。如果drop
可能是空的,那麼您可以使用它,這不是問題/必需的。
作爲第三種方式,您可以實現您自己實現序列化/反序列化的Converter
。
如果您只是想確定'actions'是否有任何'DROP'子元素,請使用'actions/drop'或'not(actions/drop)'XPATH表達式 –
如何在代碼中編寫該代碼? SImple XML框架解析XML文檔。我如何註釋Java類以檢查actions元素中是否存在空的DROP元素? –