标签: xstream

当 List 为空时 XStream 为空标记

使用 XStream 时,如果我尝试序列化具有java.util.List空集合的对象,我会得到空标记(在集合字段上)。如何删除 xml 输出中的空标签?

java xstream

1
推荐指数
1
解决办法
4474
查看次数

使用XStream保存XML文件

XStream用来写一个对象xml file.
然后我再次反序列化文件以使用对象.
我的问题是,在我关闭程序后,xml"文件"消失了.那么如何将此xml文件保存到特定目录?我已经尝试FileOutputStream但它不起作用...我也谷歌它,但发现不适合我...

方法savePerson

public void savePerson(String uNummer, Person person) {
    System.out.println("save person");
    try{            
        xml = xstream.toXML(person);

    }catch (Exception e){
        System.err.println("Error in XML Write: " + e.getMessage());
    }
}
Run Code Online (Sandbox Code Playgroud)

而方法readPerson

public Person readPerson(String uNummer) {
    System.out.println("read person");
     Person person = new Person();
    try{
        person = (Person) xstream.fromXML(file_path + uNummer + ".xml");       
    }catch(Exception e){
        System.err.println("Error in XML Read: " + e.getMessage());
    }
    return person;
}
Run Code Online (Sandbox Code Playgroud)

目录:\\releasearea\ToolReleaseArea\PersistenceSave

编辑
正确的代码 :(由ppeterka …

java xstream

1
推荐指数
2
解决办法
1万
查看次数

Java XStream CannotResolveClassException

我试图使用XStream将XML文件解析为对象,但我收到此异常:

线程"main"中的异常com.thoughtworks.xstream.mapper.CannotResolveClassException:com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:56)中的服务器位于com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper) .java:30)在com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55)[...]

这是我的XML:

  <servers>
    <server>
      <ip>10.196.113.27</ip> 
    </server>
    <server>
      <ip>10.196.113.31</ip> 
    </server>
  </servers>
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

public class ServerIP {
    private String ip;

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }
}

public class ServerHandler {

    private String fileName = "servers.xml";
    private String path = "J:\\workspace\\LOG730\\src\\Q3\\";
    private XStream xstream = new XStream(new DomDriver());

    public void readFromXML() {
        try {
            FileInputStream fis = new FileInputStream(path + fileName);
            ServerIP server = (ServerIP) xstream.fromXML(fis, new ServerIP());
            System.out.println("Host: " …
Run Code Online (Sandbox Code Playgroud)

java xml parsing xstream

0
推荐指数
1
解决办法
8995
查看次数

如何使用Xstream的addImplicitMap方法?

我想借助于其中提供的addImplicitMap方法使用xstream序列化该类.类看起来像:

class MapTest{
private Map<String, String> mapList;

public MapTest() {

    mapList= new HashMap<String, String>();
}

public void setServicesHealth(String id, String name) {
    map.put(id, name);
}
Run Code Online (Sandbox Code Playgroud)

我尝试过:

class MapTestMain{
public static void main(String args[]){ 
MapTest services = new MapTest();
services.setServicesHealth("ID01", "Jack");
services.setServicesHealth("ID02", "Neil);

    XStream stream = new XStream(new StaxDriver());
    stream.alias("MapTest", MapTest.class);
    stream.addImplicitMap(MapTest.class, "map", "id", String.class, "name");
    String xmlStr = stream.toXML(services);
    System.out.println(xmlStr);
  }
}
Run Code Online (Sandbox Code Playgroud)

但我没有得到正确的输出.我的预期输出如下:

<?xml version="1.0" ?>
<MapTest>
 <id>Started</id>
 <name>Started</name>
</MapTest>
Run Code Online (Sandbox Code Playgroud)

请帮帮我...

java xml xstream

0
推荐指数
1
解决办法
1070
查看次数

将XML String转换为Map并使用Java获取键和值对

我有一个XML字符串.我正在尝试将该字符串转换为地图,以便我可以获得键和值.但它无法转换.这是我的代码

String xmlString = "<?xml version="1.0" encoding="UTF-8"?><user>
                        <kyc></kyc>
                        <address></address>
                        <resiFI></resiFI></user>"

def convertStringToDocument = {
        xmlString ->
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder;
            try {
                builder = factory.newDocumentBuilder();
                org.w3c.dom.Document doc = builder.parse(new InputSource(new StringReader(xmlString)));
                return doc;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
    }
    def populateDocProofsFromWaiversXML = {
        xmlString, mandateFlag ->

            final List<DocumentProof> documentProofs = new ArrayList<DocumentProof>();
            if (xmlString != null) {
                try {
                    HashMap<String, String> values = new HashMap<String, String>();
                    Document xml = convertStringToDocument(waiversList);
                    org.w3c.dom.Node user = xml.getFirstChild(); …
Run Code Online (Sandbox Code Playgroud)

java xml dictionary xstream

0
推荐指数
1
解决办法
1万
查看次数

XStream - xml版本的标签创建

我正在阅读Xstream教程

http://x-stream.github.io/annotations-tutorial.html

如何将处理指令添加到xml响应中

<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n
Run Code Online (Sandbox Code Playgroud)

例如:Xstream给出响应

<message><type>15</type></message>
Run Code Online (Sandbox Code Playgroud)

但我希望该指令也是响应的一部分..

有什么方法可以得到它..

现在正在使用此标记为字符串响应添加前缀,我觉得这不是最好的方法.

问候

java xstream java-ee

0
推荐指数
1
解决办法
1251
查看次数

标签 统计

java ×6

xstream ×6

xml ×3

dictionary ×1

java-ee ×1

parsing ×1