有人可以帮我解析整个文档中包含相同标记名称的XML。我必须找出每个标记的兄弟和孩子。
PS。我提供了一个SAX解析器,它将XML转换为列表。
X = [startTag('A'), startTag('A'), startTag('A'), endTag('A'), endTag('A'), startTag('A'), startTag('A'), endTag('A'), endTag(...)|...]
以上是我的XML标签列表的样子。
以下是获取XML标记兄弟的代码。
getLabel(Label,[endTag(Label),startTag(_,Y)|_],Y).
getLabel(Label,[endTag(Label)],0).
getLabel(Label,[endTag(Label),endTag(_)|_],0).
getLabel(Label,[_|T],X):-getLabel(Label,T,X).
除了这里提到的情况外,它在所有情况下都能正常工作。 有些人可以提供一些想法,以便我如何解析这个XML并得到它的孩子。