を持っている場合、私は特定のXMLタグが属性を持っている場合、XMLファイルのコレクション(ファイルリスト)をフィルタリングする方法で働いている具体的にはJAXBは... XMLタグは、特定の属性
をご確認ください..私はxmlタグの属性が "is_special"であるすべてのXMLファイルをフィルタリングしたいのですが、属性のモデルクラスを設定する際に問題があります。私は、ファイルの名前と値はまた
私はJAXBフレームワークMOXY拡張子を持つを使用していis_special =「true」属性を持っているそのアイテムのリストを保存したい終わり
...続きとして
XML-構造:私はXML-ファイルのための3つのクラスを持っている
<document>
<id>75C8866AB078DCE541256D16002CF636</id>
<size>806220</size>
<author>xxx</author>
<last_modified>2017.06.12 07:15:41 GMT</last_modified>
<added_to_file>2016.07.05 09:50:44 GMT</added_to_file>
<created>2003.04.28 08:11:06 GMT</created>
<items>
<item>
<name>someName/name>
<type>LNITEMTYPE_DATETIMES</type>
<values>
<value is_special="true"/>
</values>
<last_modified>2003.04.28 08:11:10 GMT</last_modified>
...
</item>
<item>
<name>someName/name>
<type>LNITEMTYPE_TEXT</type>
<values>
<value>SOMETEXT</value>
<value>SOMETEXT</value>
</values>
<last_modified>2003.04.28 08:11:10 GMT</last_modified>
...
</item>
</items>
そのため...
"XMLDocument.javaは" "Value.java"
@XmlRootElement(name = "items")
public class Item {
private String name;
private List<String> values;
private boolean valueIsSpecial;
@XmlElement(name = "name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@XmlElementWrapper(name = "values")
@XmlElement(name = "value")
public List<String> getValues() {
return values;
}
public void setValues(List<String> values) {
this.values = values;
}
@XmlPath("value/@is_special")
public boolean getValueIsSpecial() {
return valueIsSpecial;
}
public void setValueIsSpecial(boolean valueIsSpecial) {
this.valueIsSpecial = valueIsSpecial;
}
}
item.java
XMLDocument.java
@XmlRootElement(name = "notes_document")
public class XMLDocument {
...
private List<Item> items;
...
@XmlElementWrapper(name = "items")
@XmlElement(name = "item")
public List<Item> getItems() {
return items;
}
public void setItems(List<Item> items) {
this.items = items;
}
}
のリストを実装 "Items.java" のリストを実装
値.java
@XmlRootElement(name = "values")
public class Value {
@XmlElement(name = "value")
private String itemValue;
@XmlPath("value/@is_special")
private boolean isSpecial;
public String getValue() {
return itemValue;
}
public void setValue(String value) {
this.itemValue = value;
}
public boolean getValueIsSpecial() {
return isSpecial;
}
public void setValueIsSpecial(boolean isSpecial) {
this.isSpecial = isSpecial;
}
}
マイメソッド実際にあなたのItem.java
ニーズのxpathがあることを/
XMLにエラーがあります。最初の「値」タグを閉じる必要があります。 –
[編集済み]それ自体が閉鎖...ヒントありがとう –
これはjavaのxpathで簡単に行うことができますが、いくつかの目的のためにJaxbが必要ですか? – SomeDude