gpt4 book ai didi

android - 创建 xml 字符串的替代解决方案

转载 作者:行者123 更新时间:2023-11-29 00:33:38 26 4
gpt4 key购买 nike

我通过构建 Input XML 并作为请求发送,从 android 调用 .net SOAP Web 服务。接收响应作为 XML 字符串并解析它。以上所有工作正常。

为了构建 XML 字符串,我遵循使用 DocumentBuilderFactory 示例的方法,如下所示

DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.newDocument();

Element rootElement = document.createElement("XMLINPUT");//Parent Node of the xml
document.appendChild(rootElement);

Element childElementCNN = document.createElement("CNNREFF");//Child Node
rootElement.appendChild(childElementCNN);
childElementCNN .appendChild(document.createTextNode(strCNN));

Element childElementCTT = document.createElement("CTTREFF");//Child Node
rootElement.appendChild(childElementCTT);
childElementCTT.appendChild(document.createTextNode(strCTT));

TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
Properties outFormat = new Properties();
outFormat.setProperty(OutputKeys.INDENT, "yes");
outFormat.setProperty(OutputKeys.METHOD, "xml");
outFormat.setProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
outFormat.setProperty(OutputKeys.VERSION, "1.0");
outFormat.setProperty(OutputKeys.ENCODING, "UTF-8");
transformer.setOutputProperties(outFormat);
DOMSource domSource = new DOMSource(document.getDocumentElement());
OutputStream output = new ByteArrayOutputStream();
StreamResult result = new StreamResult(output);
transformer.transform(domSource, result);
String strInputXML = output.toString(); //Storing into a string

我想了解在 android 中构建 XML,因为我想使用相同的函数来构建不同的 XML。还有其他替代解决方案吗?如果有,请发布您的答案。

最佳答案

是的,看看SimpleXML

您可以根据您的 XML 文档结构定义 bean,并使用 getters/setters 来操作值。

@Root(name = "XMLINPUT")
class MyBean {

@Element(name = "CNNREFF")
private String child1;

@Element(name = "CTTREFF")
private String child2;


}

关于android - 创建 xml 字符串的替代解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13929304/

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