2010-03-09 64 views

回答

1

是的,它是可能的,不是很辛苦:

data: {...} 

ws-chars: charset " ^/^M^-" 
ws: [any ws-chars] 

rule: [ 
    ws <Multipage> any [ 
     ws "<tab" opt [ws "id=" copy id to ">" (print ["tab id:" id])] ">" any [ 
      ws "<box" opt [ws "id=" copy value to ">" (print ["box id:" id])] ">" 
       opt [copy text to "<" (if text [?? text])] 
      </box> 
     ] 
     ws </tab> 
    ] 
    ws </Multipage> ws 
] 

parse/all data rule 

运行这段代码,你会得到作为输出:

tab id: "1" 
box id: "1" 
text: "^/ " 
tab id: "2" 
box id: "2" 
text: "^/ Hello^/ " 
+0

似乎伟大的尝试 – 2010-04-20 13:09:30

2

http://www.rebol.org/view-script.r?script=xml-parse.r1加文·麦肯齐的XML的解析脚本会解析大多数XML数据。由于这是一个通用的解决方案,因此比特定XML文件的一组解析规则更为复杂。

+0

好,谢谢会尝试。 – 2010-03-13 11:39:40