栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用javax.xml.transform.Transformer对xml属性进行排序以进行漂亮的打印

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用javax.xml.transform.Transformer对xml属性进行排序以进行漂亮的打印

如前所述,到42岁时,您可以从XML中创建规范XML,这将为您按字母顺序对属性进行排序。

在Java中,我们可以使用Apache的Canonicalizer之类的东西

org.apache.xml.security.c14n.Canonicalizer

这样的事情(假设inXMLDoc中的document已经是一个DOM):

document retDoc;byte[] c14nOutputbytes;documentBuilderFactory factory;documentBuilder parser;// CANonICALIZE THE ORIGINAL DOMc14nOutputbytes = Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS).canonicalizeSubtree(inXMLDoc.getdocumentElement());// PARSE THE CANonICALIZED BYTES (IF YOU WANT ANOTHER DOM) OR JUST USE THE BYTESfactory = documentBuilderFactory.newInstance();factory.set ... // SETUP THE FACTORYparser = factory.newdocumentBuilder();// REPARSE TO GET ANOTHER DOM WITH THE ATTRIBUTES IN ALPHA ORDERByteArrayInputStream bais = new ByteArrayInputStream(c14nOutputbytes);retDoc = parser.parse(bais);

当然,当进行规范化时,其他事情都会更改(它将变成Canonical XML
http://en.wikipedia.org/wiki/Canonical_XML),因此,除了属性顺序之外,还需要进行其他更改。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/596164.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号