Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.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 带有“”而不是整个结束标记的StAX结束元素标记_Java_Stax - Fatal编程技术网

Java 带有“”而不是整个结束标记的StAX结束元素标记

Java 带有“”而不是整个结束标记的StAX结束元素标记,java,stax,Java,Stax,我是流式XML文档,下面是示例代码 final XMLOutputFactory xof = XMLOutputFactory.newInstance(); final ByteArrayOutputStream os = new ByteArrayOutputStream(); final XMLStreamWriter xtw = xof.createXMLStreamWriter(os); xtw.writeStartDocument("utf-8", "1.0"); xtw.write

我是流式XML文档,下面是示例代码

final XMLOutputFactory xof =  XMLOutputFactory.newInstance();
final ByteArrayOutputStream os = new ByteArrayOutputStream();
final XMLStreamWriter xtw = xof.createXMLStreamWriter(os);
xtw.writeStartDocument("utf-8", "1.0");
xtw.writeStartElement("Buddy");
xtw.writeAttribute("Name", "AB");
xtw.writeAttribute("Age", "25");
xtw.writeAttribute("petName", "XX");
xtw.writeEndElement();
xtw.close();
这就产生了

<?xml version="1.0" encoding="utf-8"?><Buddy Name="AB" Age="25" petName="XX"></Buddy>
我怎样才能让斯塔克斯写作

<?xml version="1.0" encoding="utf-8"?><Buddy Name="AB" Age="25" petName="XX"/>
i、 e.不需要结束标记,应在写入属性后立即结束标记。有什么想法吗

目的:尽量减少通过网络发送的字节数。每秒大约有15k条消息。因此,为每条消息节省一些字节是值得的。

您应该使用writeEmptyElement。。。为此:

xtw.writeStartDocument("utf-8", "1.0");
xtw.writeEmptyElement("Buddy");
xtw.writeAttribute("Name", "AB");
xtw.writeAttribute("Age", "25");
xtw.writeAttribute("petName", "XX");
xtw.writeEndDocument();
空元素不需要writeEndElement。

您应该使用writeEmptyElement。。。为此:

xtw.writeStartDocument("utf-8", "1.0");
xtw.writeEmptyElement("Buddy");
xtw.writeAttribute("Name", "AB");
xtw.writeAttribute("Age", "25");
xtw.writeAttribute("petName", "XX");
xtw.writeEndDocument();
空元素不需要writeEndElement