2

入力を作成してリクエストとして送信することにより、Android から.net SOAPWeb サービスを呼び出します。XML応答を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

同じ関数を使用して別の XML を構築したいので、Android で XML を構築する方法を知りたいです。他の代替ソリューションはありますか? もしあれば、あなたの答えを投稿してください。

4

1 に答える 1

2

はい、SimpleXMLを見てください

XMLドキュメント構造に従ってBeanを定義し、getter/setterを使用して値を操作できます。

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

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

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


}
于 2012-12-18T10:20:38.640 に答える