如何检查 XML 标记字符串?
Posted
技术标签:
【中文标题】如何检查 XML 标记字符串?【英文标题】:How to check the XML tag string? 【发布时间】: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
。
【参考方案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:@"以上是关于如何检查 XML 标记字符串?的主要内容,如果未能解决你的问题,请参考以下文章
匹配 XML 字符串的正则表达式在 C# 中具有开始和结束标记