Java Xstreamaling中使用冒号时出现异常
我从服务器得到一个字符串作为响应。我想使用XStream将该字符串转换为JavaPOJO。我的一些字段的名称中有冒号,例如Java Xstreamaling中使用冒号时出现异常,java,xml-parsing,xstream,Java,Xml Parsing,Xstream,我从服务器得到一个字符串作为响应。我想使用XStream将该字符串转换为JavaPOJO。我的一些字段的名称中有冒号,例如@XStreamAlias(S:Envelope) 在解析过程中,它显示错误“CannotResolveClassException:Envelope”。但是如果我使用 @XStreamAlias(Envelope) 它很好用。 如何告诉Xstream允许在字段名中使用冒号(“:”)?这对我来说很有用: import java.io.InputStream; import
@XStreamAlias(S:Envelope)
在解析过程中,它显示错误“CannotResolveClassException:Envelope”。但是如果我使用
@XStreamAlias(Envelope)
它很好用。
如何告诉Xstream允许在字段名中使用冒号(“:”)?这对我来说很有用:
import java.io.InputStream;
import org.junit.Test;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import lombok.Data;
public class ColonAlias {
@Test
public void smokeTest() {
InputStream file = ColonAlias.class.getResourceAsStream(ColonAlias.class.getSimpleName()+ ".xml");
XStream xStream = new XStream();
xStream.ignoreUnknownElements();
xStream.processAnnotations(Parent.class);
Parent parent = (Parent) xStream.fromXML(file);
System.out.println(parent);
}
@XStreamAlias("parent")
@Data
public class Parent {
@XStreamAsAttribute
private String name;
@XStreamAlias("p:age")
private String age;
}
}
XML:
这对我来说很有用:
import java.io.InputStream;
import org.junit.Test;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import lombok.Data;
public class ColonAlias {
@Test
public void smokeTest() {
InputStream file = ColonAlias.class.getResourceAsStream(ColonAlias.class.getSimpleName()+ ".xml");
XStream xStream = new XStream();
xStream.ignoreUnknownElements();
xStream.processAnnotations(Parent.class);
Parent parent = (Parent) xStream.fromXML(file);
System.out.println(parent);
}
@XStreamAlias("parent")
@Data
public class Parent {
@XStreamAsAttribute
private String name;
@XStreamAlias("p:age")
private String age;
}
}
XML:
ColonAlias.Parent(name=Adam, age=33)