我正在修改本教程到我的应用程序,我已经把它归结为最后一个错误,这阻止了我的追踪.程序无法在另一个文件中找到属性,但该属性已明确定义.这是有问题的代码:
实际错误行:
for (DTContact *dtc in _dtContact.contact) {
Run Code Online (Sandbox Code Playgroud)
文件的.h和有问题的项目:
#import <UIKit/UIKit.h>
@class XMLTestViewController;
@class DTCXMLResponse;
@interface XMLTestController : UIViewController{
UIWindow *window;
XMLTestViewController *viewController;
DTCXMLResponse *_dtContact;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet XMLTestViewController *viewController;
@property (nonatomic, retain) DTCXMLResponse *dtContact;
@property (nonatomic, retain) IBOutlet UIButton *mybutton;
-(IBAction)buttonClicked;
@end
Run Code Online (Sandbox Code Playgroud)
它与_dtContact.contact有问题.它无法在文件DTCXMLResponse中找到联系人.这是.h文件和.m的部分:
.H
#import <Foundation/Foundation.h>
@interface DTContactXMLResponse : NSObject {
NSMutableArray *_contact;
}
@property (nonatomic, retain) NSMutableArray *contact;
@end
Run Code Online (Sandbox Code Playgroud)
.M
#import "DTCXMLResponse.h"
@implementation DTContactXMLResponse
@synthesize contact = _contact; …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用GDataXMLNode来解析XML文件.我正在关注此博客上的教程:
我的问题是尝试将GDataXMLNode添加到我的项目并使其工作.我应该对配置做一些事情,添加一个Header Search Path,以及其他一些东西,但我在网上找到的每一个例子都是针对之前版本的Xcode.我目前正在使用Xcode 5而且我已经尝试了所有东西(请证明我的错误),但没有任何东西按照本教程中应该的方式工作.
所以,任何有关我如何解决这个问题以及让它与我的iOS项目一起工作的帮助将非常感激.如果我可以阐述我所说的任何内容,请告诉我.
我在iOS应用程序中使用GDataXML,想要一种简单的方法来格式化和打印XML字符串 - "漂亮的打印"
有没有人知道Objective C中的算法,或者我能翻译的另一种语言?
我尝试使用折射器自动将GDATAXML Lib转换为ARC - >在XCode 4.2中转换为ARC Objective-C.
ARC转换器给出以下错误:
result = [NSString stringWithUTF8String:(const char *) chars];
if (cacheDict) {
// save the string in the document's string cache
CFDictionarySetValue(cacheDict, chars, result);
}
Run Code Online (Sandbox Code Playgroud)
错误:暗示将Ojective-C指针转换为void.
有没有人成功将GDATAXML Libs转换为ARC Objective-C?
我正在使用GDataXML,我遇到了编写XML文件的一些问题.我按照Raywenderlich的教程,但我必须添加一些名称空间.
例如:
[FooElement addChild:bar1Element];
[FooElement addChild:bar2Element];
[FooElement addChild:bar3Element];
[FooElement addChild:bar4Element];
我想做类似的事情:
[FooElement addNamespace:@"xmlns ="https:// foo/bar /"
将此结果 存入文件:
<Foo xmlns ="https:// foo/bar /" >
<bar1> xxxx </ bar1>
<bar2> xxxx </ bar2>
<bar3> xxxx </ bar3>
<bar4> xxxx </ bar4>
</ Foo>
感谢帮助 !
我正在创建一个iOS应用程序,我在Objective C中使用GDataXML库进行xml解析.
我有以下xml(我得到的肥皂响应):
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<MakeRequestResponse xmlns="http://tempuri.org/">
<MakeRequestResult>SOMERANDOMDATAHERE012912033905345346</MakeRequestResult>
</MakeRequestResponse>
</soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是:
当我像这样编写给定xml的xpath表达式时,我得到了MakeRequestResponse节点:
NSArray *listOfNodes = [[responseDocument rootElement] nodesForXPath:@"soap:Body/*" error:&error];
Run Code Online (Sandbox Code Playgroud)
但是,当我编写实际节点名称时,我无法获取此节点或下面的任何子节点:
NSArray *listOfNodes = [[responseDocument rootElement] nodesForXPath:@"soap:Body/MakeRequestResponse" error:&error];
Run Code Online (Sandbox Code Playgroud)
我不确定这里有什么问题.它可能是命名空间相关的问题吗?
我正在开发一个ios应用程序,我正在使用gdataxml解析我的xml,但我做错了,我的nslog为null
NSError *error = nil;
GDataXMLDocument *xmlResult = [[GDataXMLDocument alloc] initWithData:data options:0 error:&error];
if (error) {
NSLog(@"%@",error);
}
Run Code Online (Sandbox Code Playgroud)
的NSLog(@ "%@",xmlResult.rootElement); 我的根元素是完美的,错误是tempArray
NSArray *tempArray = [xmlResult nodesForXPath:@"//message/error/value" error:&error];
Run Code Online (Sandbox Code Playgroud)
NSLog(@"mon array%@",tempArray);
我的数组是null,
我的xml是这样的:
<message xmlns="http://.....Api" xmlns:i="http://www.w3.org/....">
<error i:nil="true"/>
<value>
Run Code Online (Sandbox Code Playgroud)
我觉得我的问题与命名空间有关,但我不知道如何做到这一点?
感谢您的回答
<list>
<OrderData HASH="1408108039"></OrderData>
<OrderData HASH="208524692">
<id>97</id>
<customer>
<CustomerData HASH="2128670187"></CustomerData></customer>
<billingAddress></billingAddress><deliveryAddress></deliveryAddress>
<orderDetail>
<list>
<OrderDetailData HASH="516790072"></OrderDetailData>
<OrderDetailData HASH="11226247"></OrderDetailData>
<OrderDetailData HASH="11226247"></OrderDetailData>
</list>
</orderDetail>
<log/>
</OrderData>
<OrderData HASH="1502226778"></OrderData>
</list>
Run Code Online (Sandbox Code Playgroud)
我找不到找到OrderDetailData元素数量的解决方案?我还阅读了http://iphonebyradix.blogspot.com/2011/03/using-gdata-to-parse-xml-file.html这个网址.
提前致谢.
编辑:
我再次解释我的要求.在这个xml中会有多个OrderData元素.现在我必须计算OrderDetailData一个特定OrderData元素的元素数量.假设,根据我的xml,当前解析的xml有一个OrderData名为的元素,id其值为97.现在,我必须计算OrderDetailDataOrderData (whichid 中包含多少个元素是97).
我得到词法或预处理器问题,即xcode 6.1更新后找不到文件.我已经遵循下面的堆栈溢出解决方案但没有运气.
xcode更新后找不到#import <libxml/tree.h>文件
i found libxml2.2.dylib --> it is created during xcode 5 installation.
libxml2.dylib --> it is created during latest xcode6 update.
Run Code Online (Sandbox Code Playgroud)
使用finder/usr/lib /
I had used libxml2.2.dylib in xcode 5 but now i am getting above error in xcode 6.
Run Code Online (Sandbox Code Playgroud)
另外如何从这个/ usr/lib/location添加libxml2.2.dylib lib,因为在构建阶段我无法导航到/ usr/lib/path.
请帮帮我.提前致谢.
我需要解析一个 XML 文档,其中存在如下例所示的条件:
<element condition="var < 5">element name</element>
问题是解析器不允许使用“小于”(<) 字符。
我尝试了 GDataXML -> 它给我一个错误,说存在非法字符。
我还尝试了 TBXML -> 它没有考虑存在此字符的属性。
我想其他解析器也是如此。
我怎样才能解决这个问题?
gdataxml ×10
ios ×7
xml ×5
objective-c ×4
xcode ×2
build ×1
iphone ×1
libxml2 ×1
namespaces ×1
parsing ×1
properties ×1
xcode6 ×1
xml-parsing ×1
xpath ×1