所以我试图在标题中尽可能清楚地写出我的问题,但我会详细说明情况。目前在java中,我正在尝试从我创建的电子邮件模板中获取信息。
获得电子邮件数据后,我需要将变量注入电子邮件内容的不同部分。
例如,我有 3 个用 xml 文件编写的不同电子邮件模板。etemplate1.xml、etemplate2、etemplate3。
到目前为止,我正在使用以下代码获取信息。
String fm_subject = ""; // Formatted string of email subject
String fm_bodytext = ""; // Formatted string of email body text
String fm_bodytables = ""; // Formatted string of email body tables
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
org.w3c.dom.Document doc = dBuilder.parse(getServletContext().getResourceAsStream("/"+requestType+".xml"));
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("emailtemplate");
Node nNode = nList.item(0);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
fm_subject = eElement.getElementsByTagName("subject").item(0).getTextContent();
fm_bodytext = eElement.getElementsByTagName("bodytext").item(0).getTextContent();
fm_bodytables = eElement.getElementsByTagName("bodytable").item(0).getTextContent();
注意:requestType = 将使用的模板
XML 电子邮件模板示例:
<?xml version="1.0"?>
<emailtemplates>
<emailtemplate>
<subject>
subject information
</subject>
<bodytext>
This is the Body Text
</bodytext>
<bodytable>
This Body Tables
</bodytable>
</emailtemplate>
</emailtemplates>
我需要做的是用变量格式化我从 xml 文件中返回的数据。问题是,我不能只在返回数据的末尾添加一个变量。
示例代码:
user_id //示例变量
user_code //示例变量
fm_bodytext = eElement.getElementsByTagName("bodytext").item(0).getTextContent() + user_id + user_code;
这将始终将变量附加到正文信息的末尾。我需要在 xml 元素正文之间添加变量。
这是我想要的纯文本的一个清晰示例。
<bodytext>
This is the Body Text
hi user_id, your code is user_code
</bodytext>
希望我已经很好地解释了我的问题。如果没有,请告诉我,我会尽力解决这个问题。
谢谢 !