-
xml 格式化输出5
我用XStream 转出的xml是这样<list> <Contacts> <id>1</id> <name>11</name> <email>111</email> <phone>1111</phone> </Contacts> <Contacts> <id>2</id> <name>22</name> <email>222</email> <phone>2222</phone> </Contacts> <Contacts> <id>3</id> <name>33</name> <email>333</email> <phone>3333</phone> </Contacts> </list>
但我不希望吧phone暴漏出去,希望的输出结果是<list> <Contacts> <id>1</id> <name>11</name> <email>111</email> </Contacts> <Contacts> <id>2</id> <name>22</name> <email>222</email> </Contacts> <Contacts> <id>3</id> <name>33</name> <email>333</email> </Contacts> </list>
我试着用XSL 做个转换,但还是比较麻烦,有没有更简洁的办法
问题补充:suziwen 写道你可以先把java bean 转换成map形式,并对指定字段进行过滤,然后再用xstream转换这个map对像
能否详细些,最好给个demo
问题补充:hudingchen 写道可以通过注解(@XStreamOmitField)解决。
javabean:public class Employee { private String empNo; private String job; @XStreamOmitField private String phone; public String getEmpNo() { return empNo; } public void setEmpNo(String empNo) { this.empNo = empNo; } public String getJob() { return job; } public void setJob(String job) { this.job = job; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } }
XStream xstream = new XStream(); Employee emp = new Employee(); emp.setEmpNo("1"); emp.setJob("bb"); emp.setPhone("111111111"); xstream.processAnnotations(Employee.class); String xml = xstream.toXML(emp); System.out.println(xml);
目前情况是过滤的情形较多“一种javabean”多种过滤规则,这个我试过了 @XStreamOmitField2012年3月18日 22:59
6个答案 按时间排序 按投票排序
-
采纳的答案
规则多的话,自己控制下
XStream xstream = new XStream(); Employee emp = new Employee(); emp.setEmpNo("1"); emp.setJob("bb"); emp.setPhone("111111111"); xstream.omitField(Employee.class, "phone"); String xml = xstream.toXML(emp);
2012年3月19日 10:06
-
可以通过注解(@XStreamOmitField)解决。
javabean:public class Employee { private String empNo; private String job; @XStreamOmitField private String phone; public String getEmpNo() { return empNo; } public void setEmpNo(String empNo) { this.empNo = empNo; } public String getJob() { return job; } public void setJob(String job) { this.job = job; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } }
XStream xstream = new XStream(); Employee emp = new Employee(); emp.setEmpNo("1"); emp.setJob("bb"); emp.setPhone("111111111"); xstream.processAnnotations(Employee.class); String xml = xstream.toXML(emp); System.out.println(xml);
2012年3月19日 08:58
-
public static void filter(String src, String dest) throws IOException { BufferedReader r = new BufferedReader(new FileReader(src)); PrintWriter w = new PrintWriter(dest); try { String line; int startIndex; while ((line = r.readLine()) != null) { startIndex = line.indexOf("<phone>"); if(startIndex==-1){ w.println(line); } } } finally { r.close(); w.close(); } }
对于简单的xml文件,这个代码是适用的2012年3月19日 08:31
相关推荐
在实际应用中,XML格式化工具还可能与IDE(集成开发环境)集成,如Visual Studio、Eclipse等,提供快捷的XML格式化功能。此外,还有一些在线的XML格式化器,如XML Starlet、XML Tools等,它们提供了更灵活的选择,...
**EditPlus XML格式化** EditPlus是一款功能强大的文本编辑器,尤其在编程和代码编辑方面表现出色。它支持多种编程语言,并提供了丰富的自定义功能,包括XML文件的格式化。XML(eXtensible Markup Language)是一种...
将Excel表格中的信息按一定规则(如关键字分组)输出为xml文件,一般情况下生成的xml文件用文本形式代开不会有缩进与换行,本工具解决了此问题。本工具中生成的RemotePhonebook.xml是根据department分组,同一...
这两个包提供了处理XML的API,包括解析XML、转换XML以及格式化XML的功能。在`XmlFormatUtils.java`这个类中,我们可以看到这些功能的实现。 1. **解析XML文件**: 使用`javax.xml.parsers.DocumentBuilderFactory`...
总之,Delphi XE7虽然没有内建的XML格式化工具,但通过自定义函数和DOM操作,我们可以实现XML的格式化功能。这个"delphi格式化xml文件demo"就是一个很好的起点,帮助开发者在处理XML时获得更清晰、易读的输出。在...
1. **XML格式化**:XML格式化是指将未经排版或混乱的XML文档整理成规范的、易于阅读的形式。这通常包括添加适当的换行符、缩进和空格,使XML元素层次清晰。例如,将一长串没有换行和缩进的XML代码转换成每一层元素都...
本文将详细介绍如何在EditPlus中添加并使用XML格式化插件,以便让编辑器具备这一实用功能。我们的目标插件是`xmlstarlet`,它是一个命令行工具,可以用于XML的处理和格式化,同时也适用于EditPlus的插件系统。 首先...
XML格式化,特别是缩进,是为了提高XML文档的可读性。`CMarkup`通过控制输出时的换行和缩进来实现这一目的。在输出XML时,可以使用`Save()`方法,配合`SetIndent()`方法设定缩进的空格数。例如,`SetIndent(4)`将使...
当处理XML文档时,保持其结构清晰和可读性是非常重要的,这正是“Formatter_格式化_xml_xml格式化”主题的核心所在。Java作为一种强大的编程语言,提供了多种方法来格式化XML字符串,使其变得美观且易于理解。本文将...
本项目提供的是一款XML格式化工具,旨在帮助用户将杂乱无章的XML数据整理成整齐易读的格式,提升开发和维护效率。 XML格式化的重要性在于,原始的XML数据往往由于压缩或节省空间而显得紧凑,缺乏明显的缩进和换行,...
3. 格式化输出:为了美观,可以添加缩进、换行等,使输出看起来更加整洁。对于JSON,可以利用`JSON.stringify()`的第二个参数来控制缩进;XML则可能需要自定义算法来处理元素的嵌套关系。 4. 颜色高亮:为了突出...
2. **XML格式化需求**:说明为什么需要对XML进行格式化,比如提高代码可读性,便于团队协作,以及符合编码规范。 3. **DOM4J解析XML**:介绍如何使用DOM4J读取XML文件并创建Document对象,解析XML元素和属性。 4. ...
- **使用 `write(Document doc)`:**这种方法会根据指定的格式对整个 `Document` 进行格式化输出,是常用的输出格式化 XML 的方式。 - **使用 `write(String text)`:**这种方法主要用于将字符串形式的 XML 直接...
总结来说,Java实现XML格式化的关键在于使用DOM4J库,通过SAXReader读取XML,OutputFormat定义输出格式,XMLWriter完成格式化写入。这种方法适用于小到中型的XML文档,对于大型XML文档,可能需要考虑使用更高效的...
这些工具通常接受XML字符串作为输入,然后按照预设的规则进行格式化输出。在Java开发环境中,还可以使用像是JAXB或DOM解析器提供的API来对XML进行格式化操作。 反编译Java_class文件的工具有很多,例如JAD (Java ...
XML格式化工具的主要任务是将原始的、不带缩进的XML数据转换为易于阅读的格式,通过添加缩进和换行来提高可读性。在实现XML的格式化过程中,会涉及到DOM(Document Object Model)解析和XMLWriter类,DOM用于加载XML...
本篇将详细讲解如何在JavaScript中实现XML格式化函数和解析XML文本为DOM文档的功能。 首先,我们来看XML格式化函数。这个函数的主要任务是将一个未格式化的XML字符串转换为具有缩进和换行的易读形式。`formatXml.js...
这涉及到节点序列化、XML格式化输出等步骤。确保生成的XML符合W3C标准,并能正确读回。 7. **使用示例**:用户可以通过调用解析器的接口,如`parseFile()`解析XML文件,`getNodeValue()`获取节点值,`addChildNode...
// 使XML格式化输出 using (XmlWriter writer = XmlWriter.Create("new_file.xml", settings)) { writer.WriteStartDocument(); writer.WriteStartElement("root"); writer.WriteElementString("child1", ...
在IT领域,获取硬盘文件并将其输出为XML格式是一项常见的数据处理任务,尤其在数据备份、数据迁移或数据分析等场景中。XML(eXtensible Markup Language)是一种标记语言,它允许我们以结构化的方式存储和传输数据。...