作者sean72 (.)
看板Python
标题[问题] XML XSL parser
时间Wed Sep 25 16:03:58 2013
我对於XML XSL javascript或是设计网页方面知识很贫乏(趋近於0)
最近遇到一个难题,希望版友能够帮忙提点一下,给个方向
关於XML和XSL,我只大概知道XML是储存资料的方式而XSL是将资料表现的方式
一个前辈有一搭没一搭的弄了一个网站
有七个.xml档案,姑且称作raw_A.xml ~ raw_G.xml
他将这些raw xml 用python re-encoded 输出为 encoded_A.xml ~ encoded_G.xml
过了一阵子後他随手用javascript将xml里面的资讯
按照相对应的A.xsl ~ G.xsl parse 後输出得到 js_A.txt js_G.txt
我想这应该是简单的小事,於是自告奋勇要把整串直接用python完成
於是我搜索到了 lxml 这个module
心想这一切就跟用面包机做面包一样简单,
虽然我不知道面包怎麽做,但是面粉下去面包出来
from lxml import etree
xml_input = etree.parse("encoded_A.xml")
xslt_root = etree.parse("A.xsl")
transform = etree.XSLT(xslt_root)
print str(transform(xml_input))
我得到 py_A.txt ~ py_G.txt 七个档案
前辈问 这七个py档案和他之前的js结果完全相同吗? 他们必须完全相同才可
比较 js_A.txt ~ js_G.txt 之後
发现这里面有其中一个档案的一个byte不同
若是我module使用错误或是其他原因
应该七个档案都错的一蹋糊涂才对,
或若是其中某个档案较特殊,应该也是该档案一堆错误,不会只错一个byte才对
可是偏偏六个完全正确,只有一个档案的一个byte出错
毫无头绪该如何下手或是查看什麽debug讯息
(现在慢慢的开始仔细阅读xml相关知识 但还是很没sense)
先谢谢各位的帮忙
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 172.249.127.149
※ 编辑: sean72 来自: 172.249.127.149 (09/25 16:07)
※ 编辑: sean72 来自: 172.249.127.149 (09/25 16:08)
1F:→ uranusjr:发现这里面有其中一个档案的一个byte不同 <-- 这太笼统 09/25 16:29
2F:→ uranusjr:了, 你至少要说明是什麽地方不一样: Tag? Attribute? 09/25 16:31
3F:→ uranusjr:Value? 还是根本与 XML 文本结构无关的地方? 09/25 16:32
4F:→ uranusjr:上面这个问题应该不用很懂 XML 就能回答 09/25 16:33