【问题标题】:How to check the XML tag string?如何检查 XML 标记字符串?
【发布时间】:2016-05-09 06:14:47
【问题描述】:

您好,我正在使用下面的 xml,这是我来自服务器的 xml。

 <message xmlns="jabber:client" to="91957@ip-148" id="A2EFL-1435" from="9176@ip-148"><x xmlns="jabber:x:event"><composing/><id>A2EFL-1434</id></x></message>

现在我需要检查 xml 是否具有 composing 元素。而且我没有使用任何 xml 委托。有没有可能不使用 XML 的委托方法

 NSXMLElement *events = [message elementForName:@"x"];
    NSString *eventString=[[message elementForName:@"x"] stringValue];
    if (![eventString isEqualToString:@""]) {
        NSString *composingString=[[events elementForName:@"composing"] stringValue];
        if ([composingString isEqualToString:@""]||[composingString isEqualToString:@"nil"]) {}

但我需要检查 xml 标签不是值

【问题讨论】:

  • 但是如何检查该标签是否等于“组合”字符串我对每个 xml 都有不同的名称
  • 是的,我需要检查字符串的每个 xml 响应都有不同的字符串
  • 如何将NSXMLElement 转换为NSString

标签: ios iphone xmppframework nsxml


【解决方案1】:

你可以用字符串操作来做到这一点。检查一下。

NSRange rangeValue = [xmlString rangeOfString:@"<composing>" OR @"<composing/>" OR options:NSCaseInsensitiveSearch];

if (rangeValue.length > 0){

NSLog(@"Tag is present");

} 

else {

NSLog(@"Tag is not present");

}

【讨论】:

  • ` NSXMLElement *events = [message elementForName:@"x"]; NSString *xmlString=(NSString *)事件; NSRange rangeValue = [xmlString rangeOfString:@"" options:NSCaseInsensitiveSearch]; if (rangeValue.length > 0){ NSLog(@"组合标签存在"); } `
  • 当我使用上面的代码时,会出现无法识别的错误
  • 知道了,谢谢它的工作正常。但是他们是否有任何其他方式来检查 XML 元素。
  • 唯一的选择是解析 XML。
  • 好的,感谢您的努力。
猜你喜欢
  • 2015-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 2020-08-20
  • 1970-01-01
相关资源
最近更新 更多