xmlbeans去掉前缀解决办法

今天在做xmlbeans的时候,发现生成的xml字符串都带有前缀“myx”:

 

<myx:book xmlns:myx="http://www.example.org/MyXMLSchema">
    <myx:date>2000-3-9</myx:date>
    <myx:name>sjs</myx:name>
    <myx:price>800</myx:price>
</myx:book>

 在网上查了好久,终于查到了解决办法:

 

 StringBuffer xmlGen = new StringBuffer();
        BookDocument doc = null;
        try {
            /*
               增加  XmlOptions;
               之前输出:
               <myx:book xmlns:myx="http://www.example.org/MyXMLSchema"><myx:date>2000-3-9</myx:date><myx:name>sjs</myx:name><myx:price>800</myx:price></myx:book>
               之后输出:
               <book xmlns="http://www.example.org/MyXMLSchema"><date>2000-3-9</date><name>sjs</name><price>800</price></book>
            * */
            XmlOptions xo = new XmlOptions();
            xo.setUseDefaultNamespace();
            doc = BookDocument.Factory.newInstance();
            Book b = doc.addNewBook();
            b.setDate("2000-3-9");
            b.setName("sjs");
            b.setPrice(800);
            /*doc.xmlText(xo) 需要加上xo,否则输出的xml字符串标签前有前缀*/
            xmlGen.append(doc.xmlText(xo));//xml字符串

 也就是在将XML文档转化为text时,需要增加XmlOptions参数;并且需要将该参数设置为xo.setUseDefaultNamespace();


增加之后输出的XML就去掉了前缀“myx”:

 

<book xmlns="http://www.example.org/MyXMLSchema">
    <date>2000-3-9</date>
    <name>sjs</name>
    <price>800</price>
</book>

 至此,该问题解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值