0

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

4

2 回答 2

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 是包含所有问题的数组。

于 2012-08-16T05:14:30.833 回答
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>  

我希望这能帮到您...

于 2012-08-17T08:26:42.143 回答