如何从通过JAXB生成的XML中删除不需要的根元素?
我需要的是
以下是Pojo类的代码:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name="empType", propOrder={ "name", "age", "deptt"})
@XmlRootElement(name = "")
public class EmpType {
EmpType () {}
public EmpType (String name, String age, String deptt ) {
this.name=name;
this.age=age;
this.deptt=deptt;
}
@XmlElement(name="name", required=true)
protected String name;
@XmlElement(name="age", required=true)
protected String age;
@XmlElement(name="deptt", required=true)
protected String deptt;
... getter / setters
}
@XmlAccessorType(value=javax.xml.bind.annotation.XmlAccessType.FIELD)
@XmlType(name="employeesType", propOrder={"emp"})
public class EmployeesType
{
@XmlElement(required=true)
protected List<EmpType> emp;
protected String prolog;
public EmployeesType()
{
}
public List<EmpType> getEmp()
{
if(emp== null)
{
data = new ArrayList<EmpType>();
}
return emp;
}
getter/setter for prolog
}
有没有办法删除Employee类中出现的Emp根元素?
我尝试在员工类中使用XMLRootElement(name="),但它并没有帮助我删除Emp标签。
对于您想要的xml:
<Employees>
<prolog>test prolog</prolog>
<name>employeeOne</name>
<age>24</age>
<deptt>store</deptt>
<name>employeeTwo</name>
<age>25</age>
<deptt>store</deptt>
</Employees>
姓名、年龄和部门不是通用元素的一部分。所以你应该有这样的POJO:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(propOrder={"prolog", "employeeDetails"})
@XmlRootElement(name = "Employees")
public class Employees {
@XmlElement(name="prolog", required=true)
protected String prolog;
@XmlElements({
@XmlElement(name="name", type = Name.class),
@XmlElement(name="age", type = Age.class),
@XmlElement(name="deptt", type = Department.class),
})
private List<EmployeeDetail> employeeDetails;
}
和名称:
public class Name implements EmployeeDetail {
@XmlValue
private String name;
}
年龄:
public class Age implements EmployeeDetail {
@XmlValue
private int age;
}
和部门:
public class Age implements EmployeeDetail {
@XmlValue
private int age;
}
公共界面雇员细节做不了太多:
public interface EmployeeDetail {
}
使用这些POJO,您将能够封送/取消封送指定的xml(跳过
问题内容: 我陷入了XML和Python的困境。任务很简单,但到目前为止我还无法解决,花了那么长时间。我是来这里咨询如何用几行解决它的。 感谢您对遍历树的任何帮助。我总是以太多或太少的元素结束。元素可以无限制地嵌套。给出的例子只是一个例子。我会接受任何解决方案,而不是对dom,minidom,sax等等不挑剔。 我有一个与此类似的XML文件: 我需要的是-解析XML并编写一个新文件。新文件应包含给
有人知道我为什么得到这种阵列吗?我只想要下面这部分。我需要删除这些mysql连接和其他不需要的数组。 下面的代码显示了我如何获得该数组。当I
我有一个问题,当我从xml中删除子节点时,xml中会有一个空行。节点已正确删除,但我不想要空行,我不知道空行来自何处,因为我没有编写xml,但Javas Transformer正在为我做这件事: 我要编辑的xml实际上非常简单,如下所示: 删除孩子后,它看起来像这样: 但我想要的是: 是否有一些函数可以调用我缺少的父节点?或者是否有针对xmls的显式漂亮打印函数?
这是我的XML文件 我只想从xml中删除第二个选项 我的java代码从我的选项元素中删除所有选项。使用
问题内容: 想象一下,我有以下类似的东西修改 如何在不影响任何子元素的情况下从DOM中仅删除(仅文本)“第一”,“第二”和“第三”。 问题答案: 如果要删除所有子文本节点,则可以使用,然后将匹配集减少为仅文本节点: 注意 :这将保留子元素上所有现有的事件处理程序,使用答案不会做(因为从DOM中删除了这些元素并重新添加了这些元素)。 注2 :一些链接的问题中的答案显示的代码与我的答案中的代码相似,但
在代码中创建了这些类的实例之后,我调用了传递所需值的setter方法。尽管该方法的参数是Object,但其值最有可能是字符串(我无法控制它是如何定义的)。但是,为了保持一致,我将字符串转换为Object,以便它与方法的参数类型匹配。代码如下所示: 当我对Java对象进行整理时,我会在结果XML中得到以下内容,就在字符串值的前面: 我读过关于方法的参数类型和传递给它的数据类型不匹配的文章。在我的例子