JAXP使用Stax API时格式化输出XML】的更多相关文章

最近项目中需要生成XBRL instance,对于XML读写和验证进行了一些学习.由于Stax API不支持格式化输出,默认全都写在一行上,网上也没有搜到现成的东西,自己写了一个格式化输出的帮助类. 说明: 1. 使用了WoodStox 4.2.0的Stax实现来写XML,顺便提一下,经过比较JAXP默认实现(SJSXP),WoodStox,DOM4J, XOM(NUX).发现WoodStox速度最快,通过自己扩展的Stax2 API,功能也比较强大. 2. 实现了特殊的XML验证,一般来说使用…
之前实现的一个版本:http://www.cnblogs.com/lyhtbc/p/jaxp-pretty-format-validate-validation-stax-stax2.html 这个版本中存一个问题:如果某一个节点的值是空的话,会换行输出结束标签,如: <a> </a> 某些场景下会要求节点内必须要有值,否则就应该输出为 <a/>(例如XBRL instance的schemaLink节点). 新代码如下: XMLPrettyFormatter: impo…
XStream.Jaxb是java中用于对象xml序列化/反序列化 的经典开源项目,利用它们将对象转换成xml时,经常会遇到日期(Date).数字按指定格式输出的需求,下面是使用示例: 一.日期字段格式化输出 1.1 xStream XStream x = new XStream(); x.registerConverter(new DateConverter("yyyy-MM-dd HH:mm:ss", null,TimeZone.getTimeZone("GMT+8&qu…
我的boost为1.56而不是1.55 boost在xml的例子给出了一段写xml文件的代码,我简化如下: void debug_settings::save(const std::string &filename) { using boost::property_tree::ptree; ptree pt; pt.put("debug.filename", m_file); pt.put("debug.level", m_level); write_xml…
相信大家在项目中都用过统一响应参数模板. 先声明一个响应模板类: public class ResponseDto { public int code { get; set; } public string msg { get; set; } public object data { get; set; } } 再定义返回成功和失败的方法: public IActionResult Success(object data) { return ...... } public IActionResu…
Java数字格式化输出时前面补0 星期日 2014年11月30日|  分类: Java     /** * 里数字转字符串前面自动补0的实现. * */ public class TestStringFormat { public static void main(String[] args) { int youNumber = 1; // 0 代表前面补充0 // 4 代表长度为4 // d 代表参数为正数型 String str = String.format("%04d", yo…
格式化输出io:format是我接触Erlang使用的第一个库函数(io:format("Hello World")),随着学习的深入,它也是我debug优先选择最简单直接的工具. 不过它除了简单的输出外,还有很多进阶用法.甚至通过它,你就可以在命令行画出精艳的图表.比如:我在Visualize Erlang/Elixir Nodes On The Command Line observer_cli中绘制的与htop类似图表. 同时这个API的选项特别多,却又非常好用,你完全可以不必了…
<ASP.NET Core跨平台开发从入门到实战>样章节 Web API自定义格式化protobuf. 样章 Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化. 它很适合做数据存储或 RPC 数据交换格式.可用于通讯协议.数据存储等领域的语言无关.平台无关.可扩展的序列化结构数据格式. 以下将实现一个格式化程序返回protobuf 格式. 首先新建一个ASP.NET Core Web Application应用程序名为 Protobu…
原文:WPF中任意Object的XAML代码格式化输出 有时候,我们需要将WPF中的控件自身的XAML代码输出成文本,那么,我们可以使用System.Windows.Markup.XamlWriter.Save()方法来完成此任务.关于XamlWriter.Save()的示例,我曾经在"在WPF中,如何得到任何Object对象的XAML代码?"(http://blog.csdn.net/johnsuna/archive/2007/11/23/1899875.aspx)Blog中有所介绍…
一直习惯于C语言的printf函数来打印,突然有一天要用cout来打印,发现有点不适应. 原来cout也是有格式化输出的. 首先要引入头文件 #include<iostream> // 在使用setf等库函数时使用 #include<iomanip> // 在使用流操纵算子时使用 cout可以用setw来设置字符串的长度,不足的话,可以用setfill来设置填充 "; time_t ti = atoi(str.c_str()); struct tm* p = gmtime…