Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 序列化程序SimpleXML只发送第一行_Java_Android_Xml_Servlets_Outputstream - Fatal编程技术网

Java 序列化程序SimpleXML只发送第一行

Java 序列化程序SimpleXML只发送第一行,java,android,xml,servlets,outputstream,Java,Android,Xml,Servlets,Outputstream,我在尝试用POST在Android和servlet之间发送xml文件时遇到问题。我正在使用()进行序列化 我的servlet对Android做出响应: Serializer serial = new Persister(); OutputStream o = response.getOutputStream(); MyXML myXML = new MyXML(); myXML.setMyElement("test"); serial.write(myXML, o); 它应该像这样将我的xm

我在尝试用POST在Android和servlet之间发送xml文件时遇到问题。我正在使用()进行序列化

我的servlet对Android做出响应:

Serializer serial = new Persister();
OutputStream o = response.getOutputStream();

MyXML myXML = new MyXML();
myXML.setMyElement("test");
serial.write(myXML, o);
它应该像这样将我的xml直接发送到客户端

<MyXML>
  <MyElement>test</MyElement>
</MyXML> 
我不明白为什么在我使用OutputStream时它只序列化第一行,因为当我保存文件而不发送它时它可以工作

Serializer serial = new Persister();
File file = new File("MyPath");

MyXML myXML = new MyXML();
myXML.setMyElement("test");
serial.write(myXML, file);
我需要这样做,而不是字节,只是为了避免设置响应内容长度

非常感谢,

编辑:添加MyXML.class

还有MyXML.class

package part.myApp;

import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;

@Root(name="MyXML")
public class MyXML{

       @Element(name="MyElement")
       private String a;

       public void setMyElement(String a){
           this.a=a;
       }

       public String getMyElement() {
          return a;           
       }
}

谢谢。

对“a”的私人访问可能有问题:


让我知道这是否适合您。

您可以发布MyXML类的外观以及简单的XML框架注释吗?如果我有更多信息,我可以提供帮助。我已经用MyXML.classe编辑了我的帖子,但仍然不起作用。我不知道为什么servlet响应只发送回第一个标记。我已经测试了客户端接收到的数据,它只是标签,其他什么都没有。我使用Simple 2.4.1是因为我在使用Android,2.5版本中有一个bug。我自己在一个项目中使用2.5.3版本。2.5版本有什么问题?你还收到同样的错误信息吗?我收到完全相同的错误信息。如果我使用2.5版本,我会遇到另一个错误:error/AndroidRuntime(1287):java.lang.VerifyError:org.simpleframework.xml.core.StructureBuilder。我在我的项目的一部分中使用过,在没有Android的情况下工作,我会遇到与2.5.3版本相同的错误。
package part.myApp;

import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;

@Root(name="MyXML")
public class MyXML{

       @Element(name="MyElement")
       private String a;

       public void setMyElement(String a){
           this.a=a;
       }

       public String getMyElement() {
          return a;           
       }
}
@Root(name="MyXML")
public class MyXML{
       private String a;

       @Element(name="MyElement")
       public void setMyElement(String a){
           this.a=a;
       }

       @Element(name="MyElement")
       public String getMyElement() {
          return a;           
       }
}