如何从资源读取file.xml格式的NSString?

时间:2010-05-28 18:11:36

标签: iphone xml cocoa-touch string resources

其实我有这样的代码:

NSString   *path = [[NSBundle mainBundle] pathForResource: @"connect" ofType: @"xml"];
NSError    *error = nil;
NSString   *data = [NSString stringWithContentsOfFile: path 
                                                         encoding: NSUTF8StringEncoding 
                                                            error: &error];
NSString *message = [NSString stringWithFormat:data, KEY, COUNTRY_ID];

从资源中读取connect.xml。但是在格式化字符串(消息)APP退出而不显示任何错误。如何从资源到NSString读取connect.xml格式?

connect.xml如下所示:

<?xml version="1.0" encoding="utf-16"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:WebApi" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
  <SOAP-ENV:Body>
    <ns1:doQuerySysStatus>
      <sysvar xsi:type="xsd:int">1</sysvar>
      <country-id xsi:type="xsd:int">%d</country-id>
      <webapi-key xsi:type="xsd:string">%@</webapi-key>
    </ns1:doQuerySysStatus>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

并定义:

#define KEY @"f7ff34df7a"
#define COUNTRY_ID 228

2 个答案:

答案 0 :(得分:2)

我认为在最后一行代码中,KEY和COUNTRY_ID变量是向后的 在数据中,COUNTRY_ID是第一个。

答案 1 :(得分:1)

也许您可以尝试在XML上使用JSON,这是一种更容易使用的格式。