易截截图软件、单文件、免安装、纯绿色、仅160KB

XML文件的解析--libxml库函数解释


libxml(一)
                                     
摘要 
Libxml是一个有免费许可的用于处理XML、可以轻松跨越多个平台的C语言库。这个指南提供它的基本函数的例子。
绪论 
Libxml是一个实现读、创建及操纵XML数据功能的C语言库。这个指南提供例子代码并给出它基本功能的解释。在这个项目的主页上有Libxml及更多关于它可用的资料。包含有完整的API文档。这个指南并不能替代这些完整的文档,但是阐明功能需要使用库来完成基本操作。 
   这个指南基于一个简单的XML应用,它使用我写的一篇文章生成,它包含有元数据和文章的主体。
本指南中的例子代码示范如何做到: 
• 解析文档 
• 取得指定元素的文本 
• 添加一个元素及它的内容 
• 添加一个属性 
• 取得一个属性的值 
例子的完整代码包含在附录中 
  
数据类型 
Libxml定义了许多数据类型,我们将反复碰到它们,它隐藏了杂乱的来源以致你不必处理它除非你有特定的需要。xmlChar  替代char,使用UTF-8编码的一字节字符串。如果你的数据使用其它编码,它必须被转换到UTF-8才能使用libxml的函数。在libxml编码支持WEB页面有更多关于编码的有用信息。 
XmlDoc 包含由解析文档建立的树结构,xmlDocPtr是指向这个结构的指针。
xmlNodePtr and xmlNode 包含单一结点的结构xmlNodePtr是指向这个结构的指针,它被用于遍历文档树。 
  
解析文档 
解析文档时仅仅需要文件名并只调用一个函数,并有错误检查。完整代码:附录C, Keyword例程代码 
  
①xmlDocPtr doc; 
②xmlNodePtr cur; 
③doc = xmlParseFile(docname); 
④if (doc == NULL ) { 
fprintf(stderr,"Document not parsed successfully. \n"); 
return; 

⑤cur = xmlDocGetRootElement(doc); 
⑥if (cur == NULL) { 
fprintf(stderr,"empty document\n"); 
xmlFreeDoc(doc); 
return; 

⑦if (xmlStrcmp(cur->name, (const xmlChar *) "story")) { 
fprintf(stderr,"


相关文档:

【转】+【改】DOM4J处理XML带有命名空间的四种方法

当你解析XML时,是否会因为命名空间的存在而不能得偿所愿呢?
java方面,好多人推荐用dom4j处理xml,我也就说说在dom4j上处理带命名空间的xml
xml代码example: 再说前三种方法,也是从网上看来的。http://www.cnblogs.com/patrickchen/articles/1188920.html
D: eport.css
第一个方案.设置你的xpath的命名空间setNamesp ......

把datatable里的数据转换成xml格式的字符串

string GetXmlByDataTable()
    {
        string xmlstr;
        string sql = "select top 10 * from BasicInfo";
        DataTable dt = idb.ReturnDataTable(sql);
  &nb ......

Java操作XML文件 dom4j 篇(转载)


在项目中,我们很多都用到了xml文件,无论是参数配置还是与其它系统的数据交互。
今天就来讲一下Java 中使用dom4j来操作XML文件。
我们需要引入的包:
//文件包
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileWriter;
//工具包
import java.util.Ite ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号