Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过只更改一个字段来创建多个xml请求?_Java_Xml - Fatal编程技术网

Java 如何通过只更改一个字段来创建多个xml请求?

Java 如何通过只更改一个字段来创建多个xml请求?,java,xml,Java,Xml,我需要帮助找到如何多次创建xml的方法,同时每次只更改两个字段,其余字段将与现在相同。请告诉我用java怎么做? 以下是示例xml: 我将更改和 尼克 尼克 格廷斯 1. 0 请求 XML 您可以使用来转换XML您可以将包含所有此参数的类包装为类变量,创建getter和setter方法。使用setter方法创建类set value的对象 您可以使用jaxbapi的类将java对象转换为XML格式 The JAXBContext class provides the client's entry

我需要帮助找到如何多次创建xml的方法,同时每次只更改两个字段,其余字段将与现在相同。请告诉我用java怎么做? 以下是示例xml: 我将更改


尼克
尼克
格廷斯
1.
0
请求
XML

您可以使用来转换
XML

您可以将包含所有此参数的类包装为类变量,创建getter和setter方法。使用setter方法创建类set value的对象

您可以使用
jaxbapi的
类将java对象转换为XML格式

The JAXBContext class provides the client's entry point to the JAXB API.  
It provides an abstraction for managing the XML/Java binding information   
necessary to implement the JAXB binding framework operations: unmarshal,  
marshal and validate.  
下面是将Java对象转换为XML的示例

这里有同样的教程

示例代码:

@XmlRootElement(name="TransactionBlk_REQ",namespace="http://TransactionBlk.com")
@XmlAccessorType(XmlAccessType.FIELD)  
public class TransactionBlk  
{ 
   @XmlElement(name = "Id")
   private String id;  

   @XmlElement(name = "Originator")
   private String Originator;   

   //Your getter and setter method.
}

TransactionBlk bean = new TransactionBlk();
//Set your parameter value here

StringWriter responseWriter = new StringWriter();  
JAXBContext jaxbContext = JAXBContext.newInstance(TransactionBlk.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();  
jaxbMarshaller.marshal(bean, responseWriter);
String xmlStr = responseWriter!=null?responseWriter.toString():null;

如果您所做的只是打印一个“样板”文档,其中包含这两个值的更改,a,那么您可以使用DPH(绝望的Perl Hacker)方法:简单地将其组装为文本,暂停以在适当的位置打印值。为了安全起见,您应该预先扫描这些值,以确保它们不包含、或&字符,并在找到它们时转义这些字符

要了解更复杂的内容,或者如果您想开始学习如何“正确地”完成它,请查看Java的标准XMLAPI:DOM(文档对象模型,文档的内存树模型)、SAX(文档的事件流视图)和JAXP(用于获取XML文档并将其解析为DOM或SAX以便阅读的工具,以及获取DOM或SAX并将其作为XML语法写出的工具)。JAXP还提供了标准API,用于调用XPath搜索文档和XSLT将样式表应用于文档,因此这些工具加在一起涵盖了XML基本操作的很大一部分

您可能想看一些关于使用Java操作XML的教程。我当然有偏见,不仅仅是因为他们发表了我的一篇文章,而且根据我的经验,IBM的DeveloperWorks网站()在学习XML和其他标准方面比一般的材料要好

@XmlRootElement(name="TransactionBlk_REQ",namespace="http://TransactionBlk.com")
@XmlAccessorType(XmlAccessType.FIELD)  
public class TransactionBlk  
{ 
   @XmlElement(name = "Id")
   private String id;  

   @XmlElement(name = "Originator")
   private String Originator;   

   //Your getter and setter method.
}

TransactionBlk bean = new TransactionBlk();
//Set your parameter value here

StringWriter responseWriter = new StringWriter();  
JAXBContext jaxbContext = JAXBContext.newInstance(TransactionBlk.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();  
jaxbMarshaller.marshal(bean, responseWriter);
String xmlStr = responseWriter!=null?responseWriter.toString():null;