我有以下具有许多属性的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