2012-08-16 73 views
0

我正在开发一个基于SOAP的应用程序。肥皂请求是问题列表,我需要回答每个问题并以XML格式发送响应。我已经收集了NSArray中的所有答案。现在我需要将此数组转换为xml格式。将myNSArray转换为ipad应用程序中的xml格式?

对每个问题的头字段是

{productid,questionid,valueid,answerText} 

我的回答阵列是

{3,2,2,black color} 

我需要生成XML格式,这些答案阵列

<productid>3</productid> <questionid>2</questionid> <valueid>2</valueid> <answerText>black color</answerText> 

我可能有多个问题需要回答。最后,我需要发送XML格式的所有这些问题的答案

+0

看,我的应用程序是一个基于测验的应用程序,我需要从每个问题的项目列表中选择答案(可能是单选按钮)。在所有这些结束时,我需要以xml格式发送这个答案作为回应。答案应该包含“回答问题,回答号码,价值和文字”字段, – 2012-08-16 05:08:30

+0

请参阅我的回答,我添加了一个。 – 2012-08-16 05:15:11

回答

0

这样的事情应该工作:

NSMutableString *res = [NSMutableString string]; 
for (NSArray *array in allQuestions) { 
    [res appendString:@"<question>\n"]; 
    [res appendFormat:@"<productid>%@</productid>\n", [array objectAtIndex:0]]; 
    [res appendFormat:@"<questionid>%@</questionid>\n", [array objectAtIndex:1]]; 
    [res appendFormat:@"<valueid>%@</valueid>\n", [array objectAtIndex:2]]; 
    [res appendFormat:@"<answerText>%@</answerText>\n", [array objectAtIndex:3]]; 
    [res appendFormat:@"</question>\n"]; 
} 

假设allQuestions是包含所有问题的阵列。

0

试试这个

XmlTextWriter textWriter = new XmlTextWriter("C:\\myNSXML.xml", null); 
string[] Headers = { "productid", "questionid", "valueid", "answerText" }; 
string[] Answers = { "3", "2", "2", "black color" }; 
textWriter.WriteStartDocument(); 
textWriter.WriteStartElement("Root"); 
for (int i = 0; i < Headers.Length; i++) 
{ 
    textWriter.WriteStartElement(Headers[i]); 
    textWriter.WriteString(Answers[i]); 
    textWriter.WriteEndElement(); 
} 
textWriter.WriteEndDocument(); 
textWriter.Close(); 

查找以下在C盘名为 “myNSXML.xml” XML文件

<?xml version="1.0" ?> 
<Root> 
<productid>3</productid> 
<questionid>2</questionid> 
<valueid>2</valueid> 
<answerText>black color</answerText> 
</Root> 

我希望这将帮助你......