GVKun编程网logo

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

8

对于想了解使用javax.xml.transform.Transformer对xml属性进行排序以进行漂亮的打印的读者,本文将提供新的信息,我们将详细介绍java操作xml,并且为您提供关于cpw.m

对于想了解使用javax.xml.transform.Transformer对xml属性进行排序以进行漂亮的打印的读者,本文将提供新的信息,我们将详细介绍java 操作xml,并且为您提供关于cpw.mods.fml.common.asm.transformers.AccessTransformer的实例源码、cpw.mods.fml.common.asm.transformers.ModAPITransformer的实例源码、CSS3 : transform 与 transform-origin 属性可以使元素样式发生转变、css3 transform属性详解及transform使用总结的有价值信息。

本文目录一览:

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

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

有没有一种方法可以告诉xml转换器按字母顺序对给定XML标签的所有属性进行排序?所以说…

<MyTag paramter1="lol" andTheOtherThing="potato"/>

会变成

<MyTag andTheOtherThing="potato" paramter1="lol"/>

我希望有这样的事情:

transformer.setOutputProperty(OutputKeys.INDENT, "yes");transformer.setOutputProperty(OutputKeys.SORTATT, "yes"); // <-- no such thing

他们似乎在说什么:http
:
//docs.oracle.com/javase/1.4.2/docs/api/javax/xml/transform/OutputKeys.html

答案1

小编典典

如前所述,到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),因此,除了属性顺序之外,还需要进行其他更改。

cpw.mods.fml.common.asm.transformers.AccessTransformer的实例源码

cpw.mods.fml.common.asm.transformers.AccessTransformer的实例源码

项目:4Space-5    文件:CodeChickenAccesstransformer.java   
private void readMapFile(String mapFile)
{
    CodeChickenCorePlugin.logger.debug("Adding Accesstransformer map: " + mapFile);
    try
    {
        Method parentMapFile = Accesstransformer.class.getDeclaredMethod("readMapFile",String.class);
        parentMapFile.setAccessible(true);
        parentMapFile.invoke(this,mapFile);
    }
    catch(Exception e)
    {
        throw new RuntimeException(e);
    }
}
项目:ElConQore    文件:EQAccesstransformer.java   
private void readMapFile(String mapFile) {
    try {
        Method parentMapFile = Accesstransformer.class.getDeclaredMethod("readMapFile",mapFile);
    } catch(Exception e) {
        e.printstacktrace();
        throw new RuntimeException(e);
    }
}
项目:CoreModUpdator    文件:CustomAT.java   
private void readMapFile(final String mapFile)
{
    try
    {
        final Method parentMapFile = Accesstransformer.class.getDeclaredMethod("readMapFile",mapFile);
    }
    catch (final Exception e)
    {
        throw new RuntimeException(e);
    }
}

cpw.mods.fml.common.asm.transformers.ModAPITransformer的实例源码

cpw.mods.fml.common.asm.transformers.ModAPITransformer的实例源码

项目:TRHS_Club_Mod_2016    文件:ModClassLoader.java   
public ModAPITransformer addModAPITransformer(ASMDataTable dataTable)
{
    mainClassLoader.registerTransformer("cpw.mods.fml.common.asm.transformers.ModAPITransformer");
    List<IClasstransformer> transformers = mainClassLoader.getTransformers();
    ModAPITransformer modAPI = (ModAPITransformer) transformers.get(transformers.size()-1);
    modAPI.initTable(dataTable);
    return modAPI;
}
项目:CauldronGit    文件:ModClassLoader.java   
public ModAPITransformer addModAPITransformer(ASMDataTable dataTable)
{
    mainClassLoader.registerTransformer("cpw.mods.fml.common.asm.transformers.ModAPITransformer");
    List<IClasstransformer> transformers = mainClassLoader.getTransformers();
    ModAPITransformer modAPI = (ModAPITransformer) transformers.get(transformers.size()-1);
    modAPI.initTable(dataTable);
    return modAPI;
}
项目:Cauldron    文件:ModClassLoader.java   
public ModAPITransformer addModAPITransformer(ASMDataTable dataTable)
{
    mainClassLoader.registerTransformer("cpw.mods.fml.common.asm.transformers.ModAPITransformer");
    List<IClasstransformer> transformers = mainClassLoader.getTransformers();
    ModAPITransformer modAPI = (ModAPITransformer) transformers.get(transformers.size()-1);
    modAPI.initTable(dataTable);
    return modAPI;
}
项目:RuneCraftery    文件:ModClassLoader.java   
public ModAPITransformer addModAPITransformer(ASMDataTable dataTable)
{
    mainClassLoader.registerTransformer("cpw.mods.fml.common.asm.transformers.ModAPITransformer");
    List<IClasstransformer> transformers = mainClassLoader.getTransformers();
    ModAPITransformer modAPI = (ModAPITransformer) transformers.get(transformers.size()-1);
    modAPI.initTable(dataTable);
    return modAPI;
}
项目:BetterNutritionMod    文件:ModClassLoader.java   
public ModAPITransformer addModAPITransformer(ASMDataTable dataTable)
{
    mainClassLoader.registerTransformer("cpw.mods.fml.common.asm.transformers.ModAPITransformer");
    List<IClasstransformer> transformers = mainClassLoader.getTransformers();
    ModAPITransformer modAPI = (ModAPITransformer) transformers.get(transformers.size()-1);
    modAPI.initTable(dataTable);
    return modAPI;
}

CSS3 : transform 与 transform-origin 属性可以使元素样式发生转变

CSS3 : transform 与 transform-origin 属性可以使元素样式发生转变

CSS3 : transform 用于元素样式的转变,比如使元素发生位移、角度变化、拉伸缩小、按指定角度歪斜

transform结合transition可实现各类动画效果

transform :

transform 兼容各浏览器写法如下:

1 transform:              /* 转变样式 */;
2 -ms-transform:          /* 转变样式 */;        /* IE 9 */
3 -webkit-transform:      /* 转变样式 */;        /* Safari and Chrome */
4 -o-transform:           /* 转变样式 */;        /* Opera */
5 -moz-transform:         /* 转变样式 */;        /* Firefox */

 

可转变样式如下:

1、使元素位置移动:translate,语法:translate(x坐标, y坐标)

1 transform: translate(50px,100px);
2 -ms-transform: translate(50px,100px);        /* IE 9 */
3 -webkit-transform: translate(50px,100px);    /* Safari and Chrome */
4 -o-transform: translate(50px,100px);        /* Opera */
5 -moz-transform: translate(50px,100px);        /* Firefox */

以上代码使元素位置横向移动50像素,纵向移动100像素

 

2、使元素按指定角度旋转多少度:rotate,语法: rotate(角度值deg)

1 transform: rotate(30deg);
2 -ms-transform: rotate(30deg);        /* IE 9 */
3 -webkit-transform: rotate(30deg);    /* Safari and Chrome */
4 -o-transform: rotate(30deg);        /* Opera */
5 -moz-transform: rotate(30deg);        /* Firefox */

以上代码使元素顺时针旋转30度,如果值是负值,则是逆时针旋转

 

3、使元素按指定的倍数拉伸或缩小,里面的字体也会同时拉伸或缩小:scale,语法:scale(X轴倍数, Y轴倍数)

1 transform: scale(2,4);
2 -ms-transform: scale(2,4);    /* IE 9 */
3 -webkit-transform: scale(2,4);    /* Safari 和 Chrome */
4 -o-transform: scale(2,4);    /* Opera */
5 -moz-transform: scale(2,4);    /* Firefox */

以上代码使元素的宽度拉伸2倍,高度拉伸4倍

4、使元素歪斜给定的角度:skew,语法:skew(x轴角度值deg,y轴角度值deg)

1 transform: skew(30deg,20deg);
2 -ms-transform: skew(30deg,20deg);    /* IE 9 */
3 -webkit-transform: skew(30deg,20deg);    /* Safari and Chrome */
4 -o-transform: skew(30deg,20deg);    /* Opera */
5 -moz-transform: skew(30deg,20deg);    /* Firefox */

 

transform-origin:

transform-origin用于设置旋转元素的基点位置,兼容语法:

1 transform-origin:    /* 位置设置 */;
2 -ms-transform-origin:  /* 位置设置 */;
3 -webkit-transform-origin:  /* 位置设置 */;
4 -moz-transform-origin:  /* 位置设置 */;
5 -o-transform-origin: /* 位置设置 */;

 

位置设置,分三处设置,语法:

1 transform-origin: x-axis y-axis z-axis;

x-axis : X轴线位置

y-axis :Y轴线位置

z-axis : Z轴线位置

位置可以是具体数值、百分比、left、right、center

数值示例:

1 transform-origin:0 100;

百分比示例:

1 transform-origin:20% 40%;

默认值设置:

1 transform-origin: left center;

 

css3 transform属性详解及transform使用总结

css3 transform属性详解及transform使用总结

近年来 html5 和 css3 发展迅速,国内外不乏一些大站,酷站都在使用最新的技术,各家厂商的浏览器对它们的兼容性越来越好。css3中有一个强大的属性 transform。有了这个特性,各种特效轻松搞定。引用一句歌词“旋转,跳跃,我不停歇”。从字面上就能看出,transform 是 变型 的意思,他的值主要包括 旋转rotate,扭曲skew,缩放scale,移动translate以及矩阵变形matrix 。下面的内容就来聊聊css3中的这个重要的属性。

首先可以学习php中文网相关的免费课程

1. 观看《CSS3 3D 特效视频教程》中 transform属性

CSS3 3D 特效视频教程

2. 学习《CSS3从入门到精通教程》中的 CSS3  transform转换 教程

立即学习“前端免费学习笔记(深入)”;

CSS3从入门到精通教程

transform属性

1. 关于CSS3元素2D平面变换属性transform的实现方法

CSS3的形状变换允许我们对元素拉伸、缩放等等 这篇我主要谈下一2D平面变换 属性transform可以进行变换 transform就是变形的意思 并且它主要通过函数来使用,有以下函数translate() 平移变换ratate() 旋转变换scale() 缩放变换skew() 倾斜变换matrix() 矩阵变换transform-origin则时定义变换的中心平移变换

2. css3中关于transform属性实现div不定宽高垂直水平居中的详细介绍

transform的兼容性还是比较乐观的。IE9以下不兼容,IE9支持代替的-ms-transform属性不过只支持2D转换。

谷歌和Safari支持代替的-webkit-transform属性。IE9以上、火狐和欧朋是兼容的。

想必大家在实际项目中肯定会遇见p不定宽和高垂直水平居中的问题。记得以前都是用js去实现。

其实用css来实现也有好几种方法。但是个人觉得还是用transform来实现更简单和方便就是不兼容IE9以下浏览器。

3. CSS3中transform、transition和animationsan三种属性的区别实例详解

在部分的test case当中,每每演示transform属性的,看起来好像都是带动画。这使得小部分直觉化思维的人认为transform属性是动画属性。而恰恰相反,transform属性是静态属性,一旦写到style里面,将会直接显示作用,无任何变化过程。transform的主要用途是用来做元素的特殊变形,对于做设计的人来说并不是很陌生,简单的来说就是css 的图形变形工具。

4. css变形transform属性详细介绍

transform:变形

旋转:rotate():度数

斜切:skew():度数

skewX

skewY  

缩放:scale():正数、负数、小数

scaleX

scaleY

位移:translate():css支持的单位都可以

translateX

translateY  

transform的执行顺序:后写的先执行

transform: scale(2) rotate(50deg); 先执行旋转,在执行缩放 

5. CSS中transform 属性

CSS中transform 属性允许你修改CSS可视化模型的坐标空间。通过transform,可以让元素进行移动(translate)、旋转(rotate)、缩放(scale)、倾斜(skew)。

如果该属性有一个非none值, 将会产生一个层叠上下文. 在这种情况下 对象将作为它包含的 position: fixed 元素的包含块(a containing block)。

6. CSS3 transform 对HTML文档流带来的影响

body(或html) 加了 transform 属性以后,整个 body DOM 既会产生相应的变换,但此时的“整个”仅是指 body 下标准文档流元素,对于那些 position: absolute; / position: fixed; 元素,因为已经脱离了 body 所属的文档流,所以无法凭借 body 的变换使自己也自然的达到相应的变换效果。

相关问答

1. transform 制作滚动效果为什么需要两个元素

2. transition transform初始display:block怎么就没移动效果?

3. CSS3 transform 怎样才能中心旋转?

【相关推荐】

1. php中文网免费视频教程:《php.cn独孤九贱(2)-css视频教程》

2. php中文网免费视频教程:css3实现网页平滑过渡效果视频教程

以上就是css3 transform属性详解及transform使用总结的详细内容,更多请关注php中文网其它相关文章!

今天关于使用javax.xml.transform.Transformer对xml属性进行排序以进行漂亮的打印java 操作xml的分享就到这里,希望大家有所收获,若想了解更多关于cpw.mods.fml.common.asm.transformers.AccessTransformer的实例源码、cpw.mods.fml.common.asm.transformers.ModAPITransformer的实例源码、CSS3 : transform 与 transform-origin 属性可以使元素样式发生转变、css3 transform属性详解及transform使用总结等相关知识,可以在本站进行查询。

本文标签: