1
我有有那種結構的XML文件:爪哇的SimpleXML在一個路徑不同的前綴
<a:root>
<a:body>
<b:do_action>
<b:do_input>
<request>
<!-- There are a lot of primitive elements -->
</request>
</b:do_input>
</b:do_action>
</a:body>
</a:root>
我試圖用SimpleXML
解析這個XML:
public class Request {
// There are a lot of defined primitive elements
}
@Root(name = "root")
@Namespace(prefix = "a")
public class Root {
@Path("a:body/b:do_action/b:do_input")
@Element(name = "request")
public Request request;
}
當我實例化我的對象,並希望將其顯示爲字符串,我得到這個錯誤信息:
org.simpleframework.xml.core.ElementException: Namespace prefix 'b' in class Request is not in scope
如何處理具有不同前綴的路徑?
我刪除了所有在我的代碼中的@Namespace()註解,然後在我的類的頂部添加了@ NamespaceList。當我啓動它時,現在它會引發錯誤:'類請求中的名稱空間前綴'a'不在範圍內' –
您是否至少爲其中一個名稱空間指定了'引用'屬性?請注意,此屬性是一個URI,它爲每個名稱空間提供了一個唯一的名稱,因此您不應該將它們都留空。 – eltabo