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

libxml库解析XML文件

绪论
Libxml是一个有免费许可的用于处理XML、可以轻松跨越多个平台的C语言库。Libxml实现了读、创建及操纵XML数据功能。
这个指南基于一个简单的XML应用。
数据类型
Libxml 定义了许多数据类型,它隐藏了杂乱的来源以致你不必处理它除非你有特定的需要。xmlChar 替代char,使用UTF-8编码的一字节字符串。如果你的数据使用其它编码,它必须被转换到UTF-8才能使用libxml的函数。在libxml编码支持WEB页面有更多关于编码的有用信息。
XmlDoc 包含由解析文档建立的树结构,xmlDocPtr是指向这个结构的指针。
xmlNodePtr and xmlNode 包含单一结点的结构xmlNodePtr是指向这个结构的指针,它被用于遍历文档树。

解析文档
解析文档时仅仅需要文件名并只调用一个函数,并有错误检查。
①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,"document of the wrong type, root node != story");
xmlFreeDoc(doc);
return;
}
①定义解析文档指针。
②定义结点指针(需要它为了在各个结点间移动)。
④检查解析文档是否成功,如果不成功,libxml将指一个注册的错误并停止。
注释
一个常见错误是不适当的编码。XML标准文档除了用UTF-8或UTF-16外还可用其它编码保存。如果文档是这样,libxml将自动地为你转换到UTF-8。
⑤取得文档根元素
⑥检查确认当前文档中包含内容。
⑦在这个例子中,我们需要确认文档是正确的类型。“Story”是在这个指南中使用文档的根类型。

取得元素内容
找到在文档树中要查找的元素后可以取得它的内容。在这个例子中我们查找“story”元素。进程将在冗长的树中查找我们感兴趣的元素。我们假定期你已经有了一个名为doc的xmlDocPtr和一个名为cur的xmlNodPtr。
①cur = cur->xmlChildrenNode;
②while (cur != NULL) {
if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){
parseStory (doc, cur);
}
cur = cur->next;
}
①取得cur的第一个子结点,cur指向文档的根,即“story”元素。


相关文档:

针对该架构进行的规范XML验证失败

在Access2007中从Excel导入时,经常会碰到如下的错误提示:“针对该架构进行的规范XML验证失败。以下XML文档行中存在错误:|。”
我的解决方式是用链接表方式来打开Excel文件,然后在复制链接表,粘贴。 ......

收到的XML转成dataset型

 /// <summary>
        /// 收到的XML转成dataset型
        /// </summary>
        /// <param name="xmlData"></param>
        /// ......

xml基础

一XML 解析器
大多数浏览器都有读取和操作 XML 的内建 XML 解析器。
解析器把 XML 转换为 JavaScript 可访问的对象。
解析 XML
所有现代浏览器都有读取和操作 XML 的内建 XML 解析器。
解析器把 XML 载入内存,然后把它转换为可通过 JavaScript 访问的 XML DOM 对象。
您将在本教程的下一节中学习更多有关 XML DOM 的 ......

Ajax 操作XML的好实例

  在上一篇文章中,我们讨论了如何通过javascript从一个远程XML文件中取得数据。在这篇文章中,我们将学会怎样对数据作更复杂的处理。作为一个示例,我们会准备一组XML数据,将数据分割成独立的片断并以不同的方式展示这些片断(取决于它们是如何被标识的)。
  这篇文章是建立在上一篇文章中构造的示例代码的基础之上 ......

ajax json,xml,文本数据传递实例

到最后我才发现微软给的ajax json 实例都是有问题的,很多都是不严密的,特别是对于大小写方面,他们都没有仔细追究大小写问题,导致了在firefox使用有问题。下面是实例内用:两个html之间的:
<head> <title>测试ajax</title> <meta http-equiv=”Content-Type” content=”text/ht ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号