我知道那里有很多关于 TBXML 的问题,我尝试了一些解决方案,但没有什么对我有用。我对这些东西很陌生。
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfNewsFeedService xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<NewsFeedService>
<LngNewsItemID>1</LngNewsItemID>
<Contents>test</Contents>
<LngUserID>1</LngUserID>
<DteCreated>1/04/2014 12:00:00 a.m.</DteCreated>
<NewsReply>
<NewsFeedReplyService>
<lngNewsItemReplyID />
<LngNewsItemID>1</LngNewsItemID>
<ReplyContent>reply</ReplyContent>
<LngUserID>1</LngUserID>
<DteCreated>1/04/2014 12:00:00 a.m.</DteCreated>
</NewsFeedReplyService>
<NewsFeedReplyService>
<lngNewsItemReplyID />
<LngNewsItemID>1</LngNewsItemID>
<ReplyContent>reply2</ReplyContent>
<LngUserID>1</LngUserID>
<DteCreated>1/04/2014 12:00:00 a.m.</DteCreated>
</NewsFeedReplyService>
</NewsReply>
</NewsFeedService>
</ArrayOfNewsFeedService>
我可以很好地从 xml 中读取 'Contents' 值,但是当我尝试读取 'NewsReply' 和所有内部 xml 时遇到问题。不太清楚如何解决。任何帮助将不胜感激。我已经尝试解决这个问题超过 2 周了。
提前致谢
编辑-在这里道歉是我尝试过的代码。
NSString *theXML = [[NSString alloc] initWithBytes: [webData mutableBytes] length:[webData length] encoding:NSUTF8StringEncoding];
NSLog(@"%@", theXML);
TBXML * tbxml = [TBXML newTBXMLWithXMLString:theXML];
NSLog(@"%@", [TBXML elementName:tbxml.rootXMLElement]);
if (tbxml.rootXMLElement)
{
NSString *content = [self traverseElement:tbxml.rootXMLElement: @"Contents"];
UITextViewPost.text = content;
NSString *test = [self traverseElement:tbxml.rootXMLElement: @"NewsReply"];
NSLog(@"ReplyContent - %@", test);
TBXMLElement * elem_items = [TBXML childElementNamed:@"NewsFeedReplyService" parentElement:tbxml.rootXMLElement];
NSLog(@"elem_items - %@", elem_items);
NSMutableArray * array=[[NSMutableArray alloc]init];
while (elem_items !=nil)
{
NSMutableDictionary * dictionary=[[NSMutableDictionary alloc]init];
NSString * str_ParseData=[[NSString alloc]init];
TBXMLElement * elem_item = [TBXML childElementNamed:@"NewsFeedReplyService" parentElement:elem_items];
TBXMLElement * elem_itemid = [TBXML childElementNamed:@"LngUserID" parentElement:elem_item];
str_ParseData = [TBXML textForElement:elem_itemid];
[dictionary setObject:str_ParseData forKey:@"LngUserID"];
TBXMLElement * elem_itemname = [TBXML childElementNamed:@"ReplyContent" parentElement:elem_item];
str_ParseData = [TBXML textForElement:elem_itemname];
[dictionary setObject:str_ParseData forKey:@"ReplyContent"];
[array addObject:dictionary];
elem_items = [TBXML nextSiblingNamed:@"NewsFeedReplyService" searchFromElement:elem_items]; /// end node
NSLog(@"printing arrays - %@", str_ParseData);
}
}