0 0

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”多种过滤规则,这个我试过了 @XStreamOmitField
2012年3月18日 22:59

6个答案 按时间排序 按投票排序

0 0

采纳的答案

规则多的话,自己控制下

        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
0 0

http://xmlviewer.org 在线XML解析/XML格式化工具

2016年4月09日 14:41
0 0

http://www.atool.org/xmlformat.php 在线格式化,php版本

2014年5月13日 09:43
0 0

可以通过注解(@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
0 0

	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
0 0

你可以先把java bean 转换成map形式,并对指定字段进行过滤,然后再用xstream转换这个map对像

2012年3月18日 23:24

相关推荐

    xml格式化工具

    在实际应用中,XML格式化工具还可能与IDE(集成开发环境)集成,如Visual Studio、Eclipse等,提供快捷的XML格式化功能。此外,还有一些在线的XML格式化器,如XML Starlet、XML Tools等,它们提供了更灵活的选择,...

    EditPlus xml格式化

    **EditPlus XML格式化** EditPlus是一款功能强大的文本编辑器,尤其在编程和代码编辑方面表现出色。它支持多种编程语言,并提供了丰富的自定义功能,包括XML文件的格式化。XML(eXtensible Markup Language)是一种...

    vba Excel转化为xml(格式化输出xml)

    将Excel表格中的信息按一定规则(如关键字分组)输出为xml文件,一般情况下生成的xml文件用文本形式代开不会有缩进与换行,本工具解决了此问题。本工具中生成的RemotePhonebook.xml是根据department分组,同一...

    Java格式化Xml文件

    这两个包提供了处理XML的API,包括解析XML、转换XML以及格式化XML的功能。在`XmlFormatUtils.java`这个类中,我们可以看到这些功能的实现。 1. **解析XML文件**: 使用`javax.xml.parsers.DocumentBuilderFactory`...

    delphi格式化xml文件demo

    总之,Delphi XE7虽然没有内建的XML格式化工具,但通过自定义函数和DOM操作,我们可以实现XML的格式化功能。这个"delphi格式化xml文件demo"就是一个很好的起点,帮助开发者在处理XML时获得更清晰、易读的输出。在...

    XML格式化工具(XML美化)

    1. **XML格式化**:XML格式化是指将未经排版或混乱的XML文档整理成规范的、易于阅读的形式。这通常包括添加适当的换行符、缩进和空格,使XML元素层次清晰。例如,将一长串没有换行和缩进的XML代码转换成每一层元素都...

    在editplus工具添加格式化xml文件的插件

    本文将详细介绍如何在EditPlus中添加并使用XML格式化插件,以便让编辑器具备这一实用功能。我们的目标插件是`xmlstarlet`,它是一个命令行工具,可以用于XML的处理和格式化,同时也适用于EditPlus的插件系统。 首先...

    vc CMarkup缩进格式化xml

    XML格式化,特别是缩进,是为了提高XML文档的可读性。`CMarkup`通过控制输出时的换行和缩进来实现这一目的。在输出XML时,可以使用`Save()`方法,配合`SetIndent()`方法设定缩进的空格数。例如,`SetIndent(4)`将使...

    Formatter_格式化_xml_xml格式化_

    当处理XML文档时,保持其结构清晰和可读性是非常重要的,这正是“Formatter_格式化_xml_xml格式化”主题的核心所在。Java作为一种强大的编程语言,提供了多种方法来格式化XML字符串,使其变得美观且易于理解。本文将...

    XML格式化工具

    本项目提供的是一款XML格式化工具,旨在帮助用户将杂乱无章的XML数据整理成整齐易读的格式,提升开发和维护效率。 XML格式化的重要性在于,原始的XML数据往往由于压缩或节省空间而显得紧凑,缺乏明显的缩进和换行,...

    json,xml格式化html显示

    3. 格式化输出:为了美观,可以添加缩进、换行等,使输出看起来更加整洁。对于JSON,可以利用`JSON.stringify()`的第二个参数来控制缩进;XML则可能需要自定义算法来处理元素的嵌套关系。 4. 颜色高亮:为了突出...

    DOM4J格式化XML

    2. **XML格式化需求**:说明为什么需要对XML进行格式化,比如提高代码可读性,便于团队协作,以及符合编码规范。 3. **DOM4J解析XML**:介绍如何使用DOM4J读取XML文件并创建Document对象,解析XML元素和属性。 4. ...

    Dom 4j 格式化xml补充

    - **使用 `write(Document doc)`:**这种方法会根据指定的格式对整个 `Document` 进行格式化输出,是常用的输出格式化 XML 的方式。 - **使用 `write(String text)`:**这种方法主要用于将字符串形式的 XML 直接...

    java实现的xml格式化实现代码

    总结来说,Java实现XML格式化的关键在于使用DOM4J库,通过SAXReader读取XML,OutputFormat定义输出格式,XMLWriter完成格式化写入。这种方法适用于小到中型的XML文档,对于大型XML文档,可能需要考虑使用更高效的...

    Xml格式化-java_class反编译工具

    这些工具通常接受XML字符串作为输入,然后按照预设的规则进行格式化输出。在Java开发环境中,还可以使用像是JAXB或DOM解析器提供的API来对XML进行格式化操作。 反编译Java_class文件的工具有很多,例如JAD (Java ...

    Xml_Json_Html美化格式化工具_V3.0源码

    XML格式化工具的主要任务是将原始的、不带缩进的XML数据转换为易于阅读的格式,通过添加缩进和换行来提高可读性。在实现XML的格式化过程中,会涉及到DOM(Document Object Model)解析和XMLWriter类,DOM用于加载XML...

    XML格式化函数(JS) + 解析XML文本为Doc函数

    本篇将详细讲解如何在JavaScript中实现XML格式化函数和解析XML文本为DOM文档的功能。 首先,我们来看XML格式化函数。这个函数的主要任务是将一个未格式化的XML字符串转换为具有缩进和换行的易读形式。`formatXml.js...

    XML解析器c++实现代码

    这涉及到节点序列化、XML格式化输出等步骤。确保生成的XML符合W3C标准,并能正确读回。 7. **使用示例**:用户可以通过调用解析器的接口,如`parseFile()`解析XML文件,`getNodeValue()`获取节点值,`addChildNode...

    C#操作XML文件完整源码

    // 使XML格式化输出 using (XmlWriter writer = XmlWriter.Create("new_file.xml", settings)) { writer.WriteStartDocument(); writer.WriteStartElement("root"); writer.WriteElementString("child1", ...

    获取硬盘文件xml格式输出

    在IT领域,获取硬盘文件并将其输出为XML格式是一项常见的数据处理任务,尤其在数据备份、数据迁移或数据分析等场景中。XML(eXtensible Markup Language)是一种标记语言,它允许我们以结构化的方式存储和传输数据。...

Global site tag (gtag.js) - Google Analytics