Tag Archives: XML

又上了名字空间的套

在做一个XML的XSL,原XML如下: <?xml version="1.0" encoding="utf-16"?> <book version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://docbook.org/ns/docbook">   <info>     <title>test</title>     <author>       <personname>         <othername>Unknown</othername>       </personname>     </author>     <bibliosource>Unknown</bibliosource>   </info> </book> 制作的XSL: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">     <xsl:template match="info">         <xsl:value-of … Continue reading

Posted in Jeebook, XML | Tagged , , | Leave a comment

集成Html Tidy

解析HTML最大的问题是不能使用标准的XML解析器,虽然很多新的网站开始逐步改用规范的XHTML,但只有出现一个<br>就会导致整个解析过程的失败,而好的HTML解析器却不是那么容易找到的,所以转换或许也是一个很好的选项 在google这个问题的时候,发现一个好东西HTML Tidy,W3C出品的,开源的小工具,可以将HTML转换成XHTML或XML HTML Tidy提供了编译好的exe文件,所以最初尝试在程序中通过进程方式直接调用,转换的速度很快,不过会出现一个控制台的黑窗口,大量处理时会比较麻烦。 后来查找Tidy的衍生库,发现EfTidy.net。EfTidy.net采用Warp技术,将C++的库直接引入到C#的项目中,用C#调用非常简单。可惜的是,这明显是老外的作品,没有考虑编码的问题,中文会被自动转换为类似#C2C8;这样的Unicode编码,显然这是无法忍受的。 之后又找到了Tidy的纯C#代码编写的库Tidy.net,虽然版本有点老且很难随Tidy的源版更新,不过毕竟是同源的C#代码,什么编码,语言之类的问题统统不存在,于是集成转换的问题解决了。 P.S. Tidy有很多各种各样的库,还有如Mark Tidy之类的,各有特点,大家有空可以试试,好用的话记得推荐给我哦:)

Posted in XML, 我爱开源 | Tagged , , , | 2 Comments