- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须创建以下 xml 字符串,
<TRX>
<SVC>CheckoutStartSession</SVC>
<PRJ>PRJ</PRJ>
<CTY>ABC</CTY>
<COM>Internet</COM>
<CUR>DEF</CUR>
<ORD>1234</ORD>
<NET>1.0</NET>
<TAX>0.0</TAX>
<GRS>1.0</GRS>
<SES>
<SUU>SCHEME://IP:PORT/CONTEXT_PATH/SUU</SUU>
<FAU>SCHEME://IP:PORT/CONTEXT_PATH/FAU</FAU>
<STY>SCHEME://IP:PORT/CONTEXT_PATH/STY</STY>
<CVI>Required</CVI>
<ACT>AUTHORIZE</ACT>
<LAN>en-US</LAN>
</SES>
<CUS>
<CTP>PRIVATE</CTP>
<FNM>PRATEEK</FNM>
</CUS>
</TRX>
public class PGReqConfig {
public static void main(String[] args) throws JAXBException {
RequestSession sessionConfig = new RequestSession();
sessionConfig.setSuccessNotifURL("SCHEME://IP:PORT/CONTEXT_PATH/SUU");
sessionConfig.setFailureNotifURL("SCHEME://IP:PORT/CONTEXT_PATH/FAU");
sessionConfig.setStyleSheetURL("SCHEME://IP:PORT/CONTEXT_PATH/STY");
sessionConfig.setAction("AUTHORIZE");
sessionConfig.setCvcInput("Required");
sessionConfig.setLaguage("en-US");
CustomerDetails customerData = new CustomerDetails();
customerData.setCustomerType("PRIVATE");
customerData.setFirstName("PRATEEK");
TransactionRequest transactionConfig = new TransactionRequest();
transactionConfig.setService("CheckoutStartSession");
transactionConfig.setConsentMedium("Internet");
transactionConfig.setProjectCode("PRJ");
transactionConfig.setCountryCode("ABC");
transactionConfig.setCurrencyCode("DEF");
transactionConfig.setNet("1.0");
transactionConfig.setTax("0.0");
transactionConfig.setGross("1.0");
transactionConfig.setOrderId("1234");
transactionConfig.setCustomerData(customerData);
transactionConfig.setPaymentSession(sessionConfig);
StringWriter xmlData = new StringWriter();
JAXBContext context = JAXBContext.newInstance(TransactionRequest.class);
Marshaller marshal = context.createMarshaller();
marshal.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshal.setProperty(Marshaller.JAXB_FRAGMENT, true);
marshal.marshal(transactionConfig, xmlData);
System.out.println(xmlData.toString());
}
}
@XmlRootElement(name = "TRX")
@XmlAccessorType(XmlAccessType.FIELD)
class TransactionRequest{
@XmlElement(name = "SVC")
private String service;
@XmlElement(name = "PRJ")
private String projectCode;
@XmlElement(name = "CTY")
private String countryCode;
@XmlElement(name = "COM")
private String consentMedium;
@XmlElement(name = "CUR")
private String currencyCode;
@XmlElement(name = "ORD")
private String orderId;
@XmlElement(name = "NET")
private String netAmount;
@XmlElement(name = "TAX")
private String taxAmount;
@XmlElement(name = "GRS")
private String grossAmount;
@XmlElement(name = "SES")
private RequestSession paymentSession;
@XmlElement(name = "CUS")
private CustomerDetails customerData;
......
}
@XmlAccessorType(XmlAccessType.FIELD)
class RequestSession{
@XmlElement(name = "SUU")
private String successNotifURL;
@XmlElement(name = "FAU")
private String failureNotifURL;
@XmlElement(name = "STY")
private String styleSheetURL;
@XmlElement(name = "CVI")
private String cvcInput;
@XmlElement(name = "ACT")
private String action;
@XmlElement(name = "LAN")
private String laguage;
......
}
@XmlAccessorType(XmlAccessType.FIELD)
class CustomerDetails{
@XmlElement(name = "CTP")
private String customerType;
@XmlElement(name = "FNM")
private String firstName;
......
}
StringBuffer trxTag = new StringBuffer();
trxTag.append("<TRX>" + "<SVC>CheckoutStartSession</SVC>");
trxTag.append("<PRJ>PRJ</PRJ>");
trxTag.append("<CTY>ABC</CTY>");
trxTag.append("<COM>Internet</COM>");
trxTag.append("<CUR>DEF</CUR>");
StringBuffer cusTag = new StringBuffer("<CUS>");
cusTag.append("<CTP>Private</CTP>")
.append("<FNM>PRATEEK</FNM>")
.append("</CUS>");
StringBuffer sesTag = new StringBuffer("<SES>");
sesTag.append("<SUU>SCHEME://IP:PORT/CONTEXT_PATH/SUU</SUU>")
.append("<FAU>SCHEME://IP:PORT/CONTEXT_PATH/FAU</FAU>")
.append("<STY>SCHEME://IP:PORT/CONTEXT_PATH/STY</STY>")
.append("<CVI>Required</CVI>")
.append("<LAN>en-US</LAN>")
.append("<ACT>Authorize</ACT>" + "</SES>");
trxTag.append("<ORD>1234</ORD>")
.append("<NET>1.0</NET>")
.append("<TAX>0.0</TAX>")
.append("<GRS>1.0</GRS>")
.append(cusTag)
.append(sesTag)
.append("</TRX>");
System.out.println(trxTag.toString());
最佳答案
StringBuffer代码可读性较差。查看 StAX (XMLStreamWriter)。
关于java - Jaxb 和 StringBuffer 哪一个在 Xml 字符串创建方面具有更好的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19994538/
这是代码片段。 请说出这种用小内存存储大数据的算法是什么。 public static void main(String[] args) { long longValue = 21474836
所以我使用 imap 从 gmail 和 outlook 接收电子邮件。 Gmail 像这样编码 =?UTF-8?B?UmU6IM69zq3OvyDOtc68zrHOuc67IG5ldyBlbWFpb
很久以前就学会了 C 代码;想用 Scheme 尝试一些新的和不同的东西。我正在尝试制作一个接受两个参数并返回两者中较大者的过程,例如 (define (larger x y) (if (> x
Azure 恢复服务保管库有两个备份配置选项 - LRS 与 GRS 这是一个有关 Azure 恢复服务保管库的问题。 当其驻留区域发生故障时,如何处理启用异地冗余的恢复服务保管库?如果未为恢复服务启
说,我有以下实体: @Entity public class A { @Id @GeneratedValue private Long id; @Embedded private
我有下一个问题。 我有下一个标准: criteria.add(Restrictions.in("entity.otherEntity", getOtherEntitiesList())); 如果我的
如果这是任何类型的重复,我会提前申请,但我找不到任何可以解决我的具体问题的内容。 这是我的程序: import java.util.Random; public class CarnivalGame{
我目前正在使用golang创建一个聚合管道,在其中使用“$ or”运算符查询文档。 结果是一堆需要分组的未分组文档,这样我就可以进入下一阶段,找到两个数据集之间的交集。 然后将其用于在单独的集合中进行
是否可以在正则表达式中创建 OR 条件。 我正在尝试查找包含此类模式的文件名列表的匹配项 第一个案例 xxxxx-hello.file 或者案例二 xxxx-hello-unasigned.file
该程序只是在用户输入行数时创建菱形的形状,因此它有 6 个 for 循环; 3 个循环创建第一个三角形,3 个循环创建另一个三角形,通过这 2 个三角形和 6 个循环,我们得到了一个菱形,这是整个程序
我有一个像这样的查询字符串 www.google.com?Department=Education & Finance&Department=Health 我有这些 li 标签,它们的查询字符串是这样
我有一个带有静态构造函数的类,我用它来读取 app.config 值。如何使用不同的配置值对类进行单元测试。我正在考虑在不同的应用程序域中运行每个测试,这样我就可以为每个测试执行静态构造函数 - 但我
我正在寻找一个可以容纳多个键的容器,如果我为其中一个键值输入保留值(例如 0),它会被视为“或”搜索。 map, int > myContainer; myContainer.insert(make_
我正在为 Web 应用程序创建数据库,并正在寻找一些建议来对可能具有多种类型的单个实体进行建模,每种类型具有不同的属性。 作为示例,假设我想为“数据源”对象创建一个关系模型。所有数据源都会有一些共享属
(1) =>CREATE TABLE T1(id BIGSERIAL PRIMARY KEY, name TEXT); CREATE TABLE (2) =>INSERT INTO T1 (name)
我不确定在使用别名时如何解决不明确的列引用。 假设有两个表,a 和 b,它们都有一个 name 列。如果我加入这两个表并为结果添加别名,我不知道如何为这两个表引用 name 列。我已经尝试了一些变体,
我的查询是: select * from table where id IN (1,5,4,3,2) 我想要的与这个顺序完全相同,不是从1...5,而是从1,5,4,3,2。我怎样才能做到这一点? 最
我正在使用 C# 代码执行动态生成的 MySQL 查询。抛出异常: CREATE TABLE dump ("@employee_OID" VARCHAR(50)); "{"You have an er
我有日期 2016-03-30T23:59:59.000000+0000。我可以知道它的格式是什么吗?因为如果我使用 yyyy-MM-dd'T'HH:mm:ss.SSS,它会抛出异常 最佳答案 Sim
我有一个示例模式,它的 SQL Fiddle 如下: http://sqlfiddle.com/#!2/6816b/2 这个 fiddle 只是根据 where 子句中的条件查询示例数据库,如下所示:
我是一名优秀的程序员,十分优秀!