Java Xstreamaling中使用冒号时出现异常

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

我从服务器得到一个字符串作为响应。我想使用XStream将该字符串转换为JavaPOJO。我的一些字段的名称中有冒号,例如
@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)