2012-12-18 1 views
2

내가 안드로이드에서 .NET SOAP 웹 서비스를 호출을 만들 수 있습니다. 수신하면 XML 문자열로 응답하고 구문 분석합니다. 위의 모든 작업이 정상적으로 작동합니다. 내가 다른 XML을 구축하기 위해 같은 기능을 사용하려면 때문에 대체 솔루션은 입력 <code>XML</code>를 구축하고 요청으로 전송하여 XML 문자열

는 XML 문자열을 구축하기위한 내가, 내가 안드로이드에서 XML을 구축하기위한 알고 싶어이

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 

같은 DocumentBuilderFactory 예제를 사용하는 방법을 다음과 같은거야. 다른 대체 솔루션이 있습니까? 거기에 대답을 게시하십시오.

+0

예. 그 외에, 실제로 질문이 있습니까? – njzk2

+0

@ njzk2 예 XML 문자열을 작성하려면 대체 솔루션이 필요합니다. –

+0

@ njzk2 그래서 당신이 알고있는 것을 게시하십시오. –

답변

2

예, 당신은 값을 조작하여 XML 문서의 구조와 사용의 getter/setter를 따라 빈을 정의 할 수 있습니다 SimpleXML

를보십시오.

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

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

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


} 
+0

답장을 보내 주셔서 감사합니다. 나는 너의 대답을 시도한다. –