2013-04-04 92 views
2

我在ios中创建xml,这是正确的(打印日志),但是当我将转换为NSString时,字符串在日志中打印时包含null,sting是require作为Web服务的参数,如何分配xmlDocumentNSString ...感谢..如何将xml文档转换为IOS中的NSString

我的代码是...

GDataXMLElement *rootElement = [GDataXMLElement elementWithName:@"Root"]; 

GDataXMLElement *zipCode = [GDataXMLElement elementWithName:@"zipCode" stringValue:self 
          .tfZipcode.text]; 
GDataXMLElement *phoneNo = [GDataXMLElement elementWithName:@"phoneNo" stringValue:self.tfPhone.text]; 
GDataXMLElement *cellNo = [GDataXMLElement elementWithName:@"cellNo" stringValue:self.tfCell.text]; 

GDataXMLElement *city = [GDataXMLElement elementWithName:@"city" stringValue:self.tfCity.text]; 
GDataXMLElement *zone = [GDataXMLElement elementWithName:@"zone" stringValue:self.tfZone.text]; 
GDataXMLElement *firstName = [GDataXMLElement elementWithName:@"firstName" stringValue:self.tfFirstName.text]; 
GDataXMLElement *lastName = [GDataXMLElement elementWithName:@"lastName" stringValue:self.tfLastName.text]; 
GDataXMLElement *address = [GDataXMLElement elementWithName:@"address" stringValue:self.tfAddress.text]; 
GDataXMLElement *email = [GDataXMLElement elementWithName:@"email" stringValue:self.tfEmail.text]; 

GDataXMLElement *service = [GDataXMLElement elementWithName:@"service" stringValue:self.tfService.text]; 
GDataXMLElement *product = [GDataXMLElement elementWithName:@"product" stringValue:self.tfProduct.text]; 
GDataXMLElement *symptom = [GDataXMLElement elementWithName:@"symptom" stringValue:self.tfSymptoms.text]; 
GDataXMLElement *jobType = [GDataXMLElement elementWithName:@"jobType" stringValue:self.tfJobType.text]; 
GDataXMLElement *ref = [GDataXMLElement elementWithName:@"ref" stringValue:self.tfRef.text]; 
GDataXMLElement *reqDate = [GDataXMLElement elementWithName:@"reqDate" stringValue:self.tfDateTime.text]; 


[rootElement addChild:zipCode]; 
[rootElement addChild:phoneNo]; 
[rootElement addChild:cellNo]; 
[rootElement addChild:city]; 
[rootElement addChild:zone]; 
[rootElement addChild:firstName]; 
[rootElement addChild:lastName]; 
[rootElement addChild:address]; 
[rootElement addChild:email]; 
[rootElement addChild:service]; 
[rootElement addChild:product]; 
[rootElement addChild:symptom]; 
[rootElement addChild:jobType]; 
[rootElement addChild:ref]; 
[rootElement addChild:reqDate]; 

GDataXMLDocument *xml = [[GDataXMLDocument alloc] initWithRootElement:rootElement]; 
NSLog(@"%@", [xml rootElement]); // print xml on log 



NSString *stringXml = [xml rootElement]; 

NSLog(@"%@",stringXml); 
+0

我想在编码方面有些问题。 – satheeshwaran 2013-04-04 06:47:15

+0

我打印xmlDocument日志,这是正确的..但如何将xmlDocument转换为NSString?那是我的问题..谢谢 – 2013-04-04 06:50:14

+0

你想直接打印GDataXMLDocument吗? – iphonic 2013-04-04 06:55:00

回答

2

试试这个。

NSString *stringXml = [NSString stringWithFormat:@"%@", [xml rootElement]]; 

    NSLog(@"%@",stringXml); 
+0

感谢您的答复... – 2013-04-04 08:31:03

+0

现在工作吗? – satheeshwaran 2013-04-04 08:45:09

+0

邑,它分配给字符串,但web服务给我错误,, 400 – 2013-04-04 08:56:30

2

试试这个,

NSString * YOURSTRING = [[NSString alloc] initWithData:[xml rootElement] encoding:NSUTF8StringEncoding]; 
NSLog(@"%@",YOURSTRING); 
+0

感谢您的答案... – 2013-04-04 08:47:00

0

你应该尝试这种方式,更容易:

NSString *yourXMLString = [[GDataXMLDocument rootElement] xmlString]; 

我用这种方式很多。祝你好运!