我有以下具有許多屬性的XML標記。沒有給出屬性的數字/名稱,因爲我在運行時獲取XML,並且我只知道標記的名稱。 如何使用JAXB將所有屬性設置爲Map<String, String>
?在Jaxb中獲取元素的動態屬性
我如何添加這下面的Java代碼:
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "script ")
@XmlAccessorType(javax.xml.bind.annotation.XmlAccessType.FIELD)
public class SearchScriptElement
{
@XmlAttribute(name = "script")
private String script = "";
public String getScript()
{
return name;
}
public void setScript(String name)
{
this.name = name;
}
}
XML例子: 我可以有未在運行時已知的許多屬性:
<ScriptList>
<script name="xxx" value="sss" id=100 >
<script>
<script name="xxx" value="sss" id=100 alias="sss">
<script>
</ScriptList>
請發佈您的XML示例。這將有助於準確理解你的問題。 – AlexR 2012-03-11 15:59:14
將XML添加到主線程 – user1205079 2012-03-11 16:03:47
這個問題已經被多次提出。如果你有不同的XML結構,唯一的解決方案是'@ XmlAnyElement'。請參閱[JAXB獲取元素的所有內容](http://stackoverflow.com/questions/7736678),[JAXB - 具有XML字符串屬性的編組對象](http://stackoverflow.com/questions/1958645)。 – 2012-03-11 18:20:22