0
我有一个我自己创建的xml文件。libxml2 xml解析问题
<?xml version='1.0' encoding='utf-8' ?>
<Root>
<ChildElements>
<type name='xx' attr='false'>
<child id='1' regex='^[0-9]{11}$'>
<BBB>
<node1 name='aaa' regex='\w{5}'/>
<node2 name='bbb' regex='\w{3}'/>
</BBB>
</child>
<child>
.
.
.
</child>
</type>
</ChildElements>
</Root>
就像这样。我想解析它到XML文档对象并遍历其节点,我使用libxml2的ios。
NSString *xmlPath = [[NSBundle mainBundle] pathForResource:@"xmlcontent" ofType:@"xml"];
NSData *xmlData = [NSData dataWithContentsOfFile:xmlPath];
NSString* xml = [[NSString alloc ] initWithData:xmlData encoding:NSUTF8StringEncoding];
int size=[xml lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
xmlDocPtr docptr=xmlParseMemory([xml UTF8String], size);
但docptr对象只有一个节点,即根节点,当我尝试获取Root节点的子节点,它返回一个空节点,其名称为@“文本”。
NSXMLParser可以轻松解析相同的XML,但我不知道如何使用NSXMLParser创建文档并遍历节点。
验证XML你的意思类型的结束标记?我忘了,但它在代码:) – taffarel
和ChildElements – CarlJ
没有它的存在,我只是有一些错误在这里输入的结束标记存在,一切都很好,因为的NSXMLParser解析它成功 – taffarel