gpt4 book ai didi

java - 是否需要带有 Androids XMLSerializer 的 startDocument()?

转载 作者:搜寻专家 更新时间:2023-11-01 08:57:31 27 4
gpt4 key购买 nike

对于某个应用程序(序列化和反序列化一个对象以通过 XMPP PubSub 项目有效负载进行传输),我需要创建 XML fragment - 这是我必须省略文档声明。

我正在使用 org.xmlpull.v1.XmlSerializer 类;不幸的是,似乎没有太多关于正确使用它的文档。至少我在其 startDocument() 方法上找到的所有文档都不清楚我是否可以或不能跳过调用此方法。至少我找到的所有示例都调用此方法(但所有示例都解释了如何创建完整的 XML 文档,没有 fragment )。

举个代码例子:

XmlSerializer xmlSerializer = Xml.newSerializer();
StringWriter xmlStringWriter = new StringWriter();

try {
xmlSerializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
xmlSerializer.setOutput(xmlStringWriter);

// xmlSerializer.startDocument("UTF-8", true);

xmlSerializer.startTag(null, "tag-name");
// ...
xmlSerializer.endTag(null, "tag-name";

// xmlSerializer.endDocument();

xmlSerializer.flush();
} catch (IOException e) {
// Hanle exception
}
String xmlOutputString = xmlStringWriter.toString();

这是允许的吗?如果没有,是否有任何其他方法可以使用 XMLSerializer 生成 fragment 而不解析输出字符串以手动删除文档声明(例如仅使用 null 参数调用 startDocument)?

最佳答案

这里给出了简短的答案:不,不需要调用 startDocument() 并将跳过生成文档声明。

关于java - 是否需要带有 Androids XMLSerializer 的 startDocument()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17878680/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com