Prolog-Parse XML具有相同的标记名

时间:2015-12-15 01:45:02

标签: xml prolog swi-prolog

有人可以帮我解析整个文档中包含相同标记名称的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并得到它的孩子。

0 个答案:

没有答案