Для удаления оборачивающих тегов при использовании Java XStream можно воспользоваться аннотацией @XStreamOmitField
.
Для начала, убедитесь, что в вашем классе-модели, который вы сериализуете/десериализуете с помощью XStream, присутствуют все необходимые поля и методы. Допустим, у вас есть класс Person
, который вы хотите сериализовать без оборачивающих тегов:
import com.thoughtworks.xstream.annotations.*; @XStreamAlias("person") public class Person { @XStreamOmitField private String name; private int age; // конструкторы, геттеры, сеттеры и другие методы }
В данном примере используется аннотация @XStreamAlias("person")
для указания имени корневого тега (в данном случае - "person"). Аннотация @XStreamOmitField
используется для указания на то, что поле name
не должно быть сериализовано.
Теперь, при вызове методов toXML
или fromXML
объекта XStream, экземпляр класса Person
будет сериализован или десериализован без оборачивающих тегов. Например:
import com.thoughtworks.xstream.XStream; public class Main { public static void main(String[] args) { XStream xstream = new XStream(); xstream.processAnnotations(Person.class); Person person = new Person(); person.setName("John"); person.setAge(25); String xml = xstream.toXML(person); System.out.println(xml); Person deserializedPerson = (Person) xstream.fromXML(xml); System.out.println(deserializedPerson.getName()); System.out.println(deserializedPerson.getAge()); } }
В результате выполнения данного кода будет выведено:
<person> <age>25</age> </person> null 25
Таким образом, вы можете убрать оборачивающие теги при сериализации и десериализации объектов с помощью Java XStream, используя аннотацию @XStreamOmitField
.