新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> XML网站展示,XML源代码,XML编程示例。 本版仅接受原创、转贴、网站展示,具体的技术交流请前往各相关版块。
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XML源码及示例(仅原创和转载) 』 → 谁在UNIX下用过libxml2? 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 7351 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 谁在UNIX下用过libxml2? 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     djsone 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:13
      积分:71
      门派:XML.ORG.CN
      注册:2004/4/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给djsone发送一个短消息 把djsone加入好友 查看djsone的个人资料 搜索djsone在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看djsone的博客楼主
    发贴心情 谁在UNIX下用过libxml2?

    创建属性Attribute时如何支持中文?

       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/4/8 9:02:00
     
     mlsx 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:4
      积分:58
      注册:2004/2/22

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给mlsx发送一个短消息 把mlsx加入好友 查看mlsx的个人资料 搜索mlsx在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看mlsx的博客2
    发贴心情 
    本来就支持中文呀,我一直都是在unix下面工作!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/4/8 10:26:00
     
     byronff 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:55
      门派:XML.ORG.CN
      注册:2004/4/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给byronff发送一个短消息 把byronff加入好友 查看byronff的个人资料 搜索byronff在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看byronff的博客3
    发贴心情 
    楼上两位大哥,请教如何使用libxml2?(在unix下),我想用c语言来处理xml文档,请问该怎么办?(我是新手)
    万分感谢!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/4/8 11:14:00
     
     djsone 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:13
      积分:71
      门派:XML.ORG.CN
      注册:2004/4/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给djsone发送一个短消息 把djsone加入好友 查看djsone的个人资料 搜索djsone在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看djsone的博客4
    发贴心情 
    从http://www.xmlsoft.org/下载libxml2-2.6.8或其它版本,然后

    执行命令
    cd libxml2-2.6.8
    ./configure --prefix=/usr/liu/xml/libxml2    (/usr/liu/xml/libxml2为你要安装的路径)
    make
    make install
    安装完成即可。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/4/8 17:07:00
     
     djsone 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:13
      积分:71
      门派:XML.ORG.CN
      注册:2004/4/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给djsone发送一个短消息 把djsone加入好友 查看djsone的个人资料 搜索djsone在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看djsone的博客5
    发贴心情 
    我测试如下例子,生成一个带中文的xml文档:
    当屏蔽生成属性节点的代码时显示正常,包含时就会报错"output error : string is not in UTF-8",
    #include <stdio.h>
    #include <string.h>
    #include <libxml/encoding.h>
    #include <libxml/xmlwriter.h>

    #if defined(LIBXML_WRITER_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)

    #define MY_ENCODING "UTF-8"

    xmlChar *ConvertInput(const char *in, const char *encoding);

    int main(int argc, char *argv[])
    {
     int rc;
        xmlTextWriterPtr writer;   
        char *tmp;

     writer = xmlNewTextWriterFilename("chinese.xml", 0);
        if (writer == NULL) {
            printf("testXmlwriterFilename: Error creating the xml writer\n");
            return;
        }

     rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
        if (rc < 0) {
            printf
                ("testXmlwriterMemory: Error at xmlTextWriterStartDocument\n");
            return;
        }

     /*********************中文测试**********************/

     rc = xmlTextWriterStartElement(writer, BAD_CAST "实例");
        if (rc < 0) {
            printf
                ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
            return;
        }

     tmp = ConvertInput("非常好",MY_ENCODING);
     
     /*
     rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "制作人",
                                   BAD_CAST tmp);
     if (rc < 0) {
      printf
       ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n");
         return;
     }
     */

     
     rc = xmlTextWriterWriteElement(writer, BAD_CAST "子实例", BAD_CAST tmp);
        if (rc < 0) {
            printf
                ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
            return;
        }
     if(tmp!=NULL) xmlFree(tmp);

     rc = xmlTextWriterEndElement(writer);
        if (rc < 0) {
            printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
            return;
        }

     /*********************中文测试完*********************/

     rc = xmlTextWriterEndDocument(writer);
        if (rc < 0) {
            printf("testXmlwriterMemory: Error at xmlTextWriterEndDocument\n");
            return;
        }
     
     xmlFreeTextWriter(writer);
        
     return 0;
    }

    //将输入字符串转换成指定的编码格式
    xmlChar * ConvertInput(const char *in, const char *encoding)
    {
        xmlChar *out;
        int ret;
        int size;
        int out_size;
        int temp;
        xmlCharEncodingHandlerPtr handler;

        if (in == 0)
            return 0;

        handler = xmlFindCharEncodingHandler(encoding);

        if (!handler) {
            printf("ConvertInput: no encoding handler found for '%s'\n",
                   encoding ? encoding : "");
            return 0;
        }

        size = (int) strlen(in) + 1;
        out_size = size * 2 - 1;
        out = (unsigned char *) xmlMalloc((size_t) out_size);

        if (out != 0) {
            temp = size - 1;
            ret = handler->input(out, &out_size, (const xmlChar *) in, &temp);
            if (ret || temp - size + 1) {
                if (ret) {
                    printf("ConvertInput: conversion wasn't successful.\n");
                } else {
                    printf
                        ("ConvertInput: conversion wasn't successful. converted: %i octets.\n",
                         temp);
                }

                xmlFree(out);
                out = 0;
            } else {
                out = (unsigned char *) xmlRealloc(out, out_size + 1);
                out[out_size] = 0;  /*null terminating out */
            }
        } else {
            printf("ConvertInput: no mem\n");
        }

        return out;
    }

    #else
    int main(void) {
        fprintf(stderr, "Writer or output support not compiled in\n");
        exit(1);
    }
    #endif

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/4/8 17:25:00
     
     djsone 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:13
      积分:71
      门派:XML.ORG.CN
      注册:2004/4/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给djsone发送一个短消息 把djsone加入好友 查看djsone的个人资料 搜索djsone在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看djsone的博客6
    发贴心情 
    还有,如果我把上面的编码UTF-8改成gb2312后编译,错误提示说“iconv_open cannot open conversion file /usr/lib/nls/conv/gb2312_UTF-8;iconv_open cannot open conversion file /usr/lib/nls/conv/UTF-8_gb2312”
    我是不是需要装个编码转换器什么的??
    这个问题困惑了我好几天,恳请帮忙,多谢先!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/4/8 17:37:00
     
     djsone 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:13
      积分:71
      门派:XML.ORG.CN
      注册:2004/4/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给djsone发送一个短消息 把djsone加入好友 查看djsone的个人资料 搜索djsone在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看djsone的博客7
    发贴心情 
    自己顶一把!

    哪位大侠会的请快快援手!!

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/4/9 15:45:00
     
     ^cylinder^ 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:66
      门派:XML.ORG.CN
      注册:2004/10/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给^cylinder^发送一个短消息 把^cylinder^加入好友 查看^cylinder^的个人资料 搜索^cylinder^在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看^cylinder^的博客8
    发贴心情 
    我今天试了试中午,可以的啊。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/10/20 16:29:00
     
     ^cylinder^ 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:66
      门派:XML.ORG.CN
      注册:2004/10/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给^cylinder^发送一个短消息 把^cylinder^加入好友 查看^cylinder^的个人资料 搜索^cylinder^在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看^cylinder^的博客9
    发贴心情 
    最近试验结果:
    可以生产中文的XML文件,但是在对一个带中文的XML文件进行解析的时候,libxml2系统不能正确解析。报错。
    不知道应该如何处理?
    请高手指教。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/11/5 16:46:00
     
     不知道为什么 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:4
      积分:71
      门派:XML.ORG.CN
      注册:2005/5/14

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给不知道为什么发送一个短消息 把不知道为什么加入好友 查看不知道为什么的个人资料 搜索不知道为什么在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看不知道为什么的博客10
    发贴心情 
    用xmlFindCharEncodingHandler没成功过,但用iconv就可以
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/5/15 10:43:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML源码及示例(仅原创和转载) 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/9/9 13:47:33

    本主题贴数10,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    125.000ms