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

    >> 本版讨论DOM, SAX, XPath等。
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 DOM/SAX/XPath 』 → DOM生成XML时关于GB2312的问题 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 26552 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: DOM生成XML时关于GB2312的问题 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     asapple 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:62
      门派:XML.ORG.CN
      注册:2004/12/7

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给asapple发送一个短消息 把asapple加入好友 查看asapple的个人资料 搜索asapple在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看asapple的博客楼主
    发贴心情 DOM生成XML时关于GB2312的问题

    我使用DOM生成一个XML,但是DOM会自动在XML生成时设置文件为
    <?xml  version="1.0" encoding="UTF-8" ?>;可是我需要的是<?xml  version="1.0" encoding="GB2312" ?>但是我不知道在什么地方可以修改,这个问题如何解决啊,我生成XML时使用的是TransformerFactory tFactory =TransformerFactory.newInstance();
    Transformer transformer = tFactory.newTransformer();
    DOMSource source = new DOMSource(doc);

    transformer.transform(source, result);
    这种方法,求大侠帮忙啊!!!小弟在线等了


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/12/16 22:07:00
     
     wxb_nudt 帅哥哟,离线,有人找我吗?
      
      
      等级:大三(要不要学学XML呢?)
      文章:72
      积分:505
      门派:XML.ORG.CN
      注册:2004/12/9

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wxb_nudt发送一个短消息 把wxb_nudt加入好友 查看wxb_nudt的个人资料 搜索wxb_nudt在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wxb_nudt的博客2
    发贴心情 
    反正你在用java,顺便把文件读进来把第一行换掉就行了,哈哈!

    ----------------------------------------------
    我的blog:MDA之路!欢迎讨论MDA,XML,UML,Eclipse,JAVA的朋友来看看。
    http://www.blogjava.net/wxb_nudt/

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/12/17 21:03:00
     
     布克 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(汇编考了97分!)
      文章:43
      积分:388
      门派:XML.ORG.CN
      注册:2004/12/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给布克发送一个短消息 把布克加入好友 查看布克的个人资料 搜索布克在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看布克的博客3
    发贴心情 
    我写了个xsl,对源xml文档用此xsl进行变换,可获得目标xml,只是encoding 不同了。
    我没有对此 xsl 进行严格的验证,试过几个文件,还可以。你可以循此思路去做。如有错误,请告诉我。

    如要改变目标文档的encoding, 请修改 xsl:output 的 encoding 属性即可

    ======================================
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- DataAnyWhere Tools 2004-12-17 23:40:57 -->
    <!-- DataAnyWhere Tools Version 2.6 -->
    <!-- Shenzhen Cathay information technology Co., Ltd http://www.szhzz.com -->
    <?xml-stylesheet type="text/xsl"?>
    <xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:msxsl="urn:schemas-microsoft-com:xslt">
     <xsl:output method="xml" version="1.0" indent="yes" omit-xml-declaration="no" encoding="gb2312"/>
      <xsl:template match="/">
       <xsl:apply-templates />
      </xsl:template>
      <!-- Copy text, comments and PIs -->
      <xsl:template match="comment() | processing-instruction() | text()">
       <xsl:copy>
        <xsl:apply-templates />
       </xsl:copy>
      </xsl:template>
      <xsl:template match="*">
       <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
       </xsl:copy>
      </xsl:template>
      
    </xsl:stylesheet>

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/12/18 0:03:00
     
     wxb_nudt 帅哥哟,离线,有人找我吗?
      
      
      等级:大三(要不要学学XML呢?)
      文章:72
      积分:505
      门派:XML.ORG.CN
      注册:2004/12/9

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wxb_nudt发送一个短消息 把wxb_nudt加入好友 查看wxb_nudt的个人资料 搜索wxb_nudt在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wxb_nudt的博客4
    发贴心情 
    原来可以修改 xsl:output 的 encoding 属性啊?
    我不熟,我还是新手。。。。。。。。。汗一个!

    ----------------------------------------------
    我的blog:MDA之路!欢迎讨论MDA,XML,UML,Eclipse,JAVA的朋友来看看。
    http://www.blogjava.net/wxb_nudt/

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/12/18 23:26:00
     
     tider 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:79
      门派:XML.ORG.CN
      注册:2005/1/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给tider发送一个短消息 把tider加入好友 查看tider的个人资料 搜索tider在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看tider的博客5
    发贴心情 
    在你的writeXMl方法中这样写:
    FileOutputStream FOS = new FileOutputStream("生成的XML文件名称");
    OutputStreamWriter writer = new OutputStreamWriter(FOS);
        ((XmlDocument)doc).write(writer,"UTF-8");

    第二个参数就是你要控制的字符集.

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/1/5 16:05:00
     
     笨鸟先飞168 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:8
      积分:95
      门派:XML.ORG.CN
      注册:2005/3/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给笨鸟先飞168发送一个短消息 把笨鸟先飞168加入好友 查看笨鸟先飞168的个人资料 搜索笨鸟先飞168在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看笨鸟先飞168的博客6
    发贴心情 
    请问asapple先生,你的程序中用了transformer什么的,是因为你在做关于电力系统方面的工作吗?如果是就好了,有好多问题想向你讨教,先谢了!请回复:)
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/10 10:29:00
     
     xfxy 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:62
      门派:XML.ORG.CN
      注册:2005/4/4

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给xfxy发送一个短消息 把xfxy加入好友 查看xfxy的个人资料 搜索xfxy在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看xfxy的博客7
    发贴心情 
    用createProcessingInstruction('XML','version="1.0" encoding="gb2312"')
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/4/4 14:59:00
     
     baofeng0722 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:10
      积分:90
      门派:XML.ORG.CN
      注册:2004/10/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给baofeng0722发送一个短消息 把baofeng0722加入好友 查看baofeng0722的个人资料 搜索baofeng0722在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看baofeng0722的博客8
    发贴心情 
    楼上的方法不能修改,只能重新再生成一次
    生成如下的:
    <?xml  version="1.0" encoding="UTF-8" ?>
    <?xml  version="1.0" encoding="GB2312" ?>
    怎么改我也在研究,我查到DOM Level 3的Document接口中加入了四个属性:version(String),standalone(boolean),encoding(String)和actualEncoding(String)。

    public String getVersion();
    public void setVersion(String version);

    public boolean getStandalone();
    public void setStandalone(boolean standalone);

    public String getEncoding();
    public void setEncoding(String encoding);

    public String getActualEncoding();
    public void setActualEncoding (String actualEncoding);

    但我在Jbuilder中试过了,document中没找到如上的类

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/4/5 10:58:00
     
     baofeng0722 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:10
      积分:90
      门派:XML.ORG.CN
      注册:2004/10/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给baofeng0722发送一个短消息 把baofeng0722加入好友 查看baofeng0722的个人资料 搜索baofeng0722在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看baofeng0722的博客9
    发贴心情 
    import org.apache.xml.serialize.*;

         // Find the implementation
         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
         DocumentBuilder builder = factory.newDocumentBuilder();
         DOMImplementation domImpl=builder.getDOMImplementation();
         //create document
         Document document=domImpl.createDocument(null,"DataList",null);
         Element root=document.getDocumentElement();
        //以下代码你可以添加元素


       //生成OutputFormat
        OutputFormat opf=new OutputFormat(document);
        opf.setOmitXMLDeclaration(false);
        opf.setStandalone(true);
        opf.setEncoding("UTF-8");//改成gb2312就行了
        opf.setVersion("1.0");
        opf.setMediaType("application/xml");
        File myXML = new File("d:/张悦/arrayxml/"+filename+".xml");
        FileOutputStream os = new FileOutputStream(myXML);
        XMLSerializer serializer=new XMLSerializer(os,opf);
        serializer.serialize(document);

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/4/7 11:52:00
     
     zyren06 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:6
      积分:81
      门派:XML.ORG.CN
      注册:2005/4/10

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zyren06发送一个短消息 把zyren06加入好友 查看zyren06的个人资料 搜索zyren06在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看zyren06的博客10
    发贴心情 
    我用的是tider提到的方法!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/4/11 9:47:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 DOM/SAX/XPath 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/23 12:16:57

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

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