0
的我有返回一個字符串類型值的一類,我想返回一個字符串數組,所以請告訴我怎樣才能做到這返回字符串數組中的字符串進行
- 我有一個XML文件中像resource.xml
<prompts> <prompt id="p1">welcome to</prompt> <prompt id ="p2">stack overflow</prompt> <prompt id="p3">You entered</prompt> <prompt id="p4">the correct number</prompt> <prompts>
我使用SAX解析器解析它
public class XmlReaderPrompt {
public List<PromptBean> load(String langMode)
{
String fileName="resource.xml";
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
InputStream prompt_configfile=Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName);
DocumentBuilder db = null;
List<PromptBean> promptMap = new ArrayList<PromptBean>();
try {
try {
db = dbf.newDocumentBuilder();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
Document doc = null;
try {
doc = db.parse(prompt_configfile);
}
catch (SAXException e) {
e.printStackTrace();
}
NodeList nodeList=doc.getElementsByTagName("prompt");
for(int i=0;i<nodeList.getLength();i++)
{
Node node=nodeList.item(i);
if(node.getNodeType()==Node.ELEMENT_NODE)
{
Element element=(Element)node;
String id = element.getAttribute("id");
String name = element.getAttribute("name");
String prompt=getTextValue(element);
promptMap.add(new PromptBean(id,name,prompt));
}
}
}
catch(Exception io)
{
io.printStackTrace();
}
finally
{
db=null;
dbf=null;
}
return promptMap;
}
private String getTextValue(Element element) {
String textValue=element.getFirstChild().getTextContent().toString();
return textValue;
}
}
和UserFunction類從XML文件
public class UserFunction{
List<PromptBean> promptObject = new ArrayList<PromptBean>();
public String getPromptFunction(String promptTag,String langMode)
{
List<PromptBean> promptObject=xrpObject.load(langMode);
for (Iterator<PromptBean> iterator = promptObject.iterator(); iterator.hasNext();){
PromptBean promptBean= (PromptBean)iterator.next();
if(promptBean.getId().equalsIgnoreCase(promptTag)){
return StringEscapeUtils.escapeXml(promptBean.getPrompt());
}
}
return null;
}
問題返回文本是我每次我需要從像
子元素獲取文本時間打電話給UserFunction類的方法getPromptFunctionString pr1 = UserFunction.getPromptFunction("p1" "resource");
String pr1 = UserFunction.getPromptFunction("p2" "resource");
String pr1 = UserFunction.getPromptFunction("p3" "resource");
和jsp頁面使用它作爲<%= PR1%>
所以我想用數組一樣
String[] pr = UserFunction.getPromptFunction('"p1","p2","p3"' "resource")
所以我如何能夠做到這一點,並告訴如何在jsp頁面中使用它。
這實際上是不SAX解析你在幹什麼。 –
對不起,但我想知道,我怎麼能夠從數組列表中檢索XML文本並將其打印在jsp頁面中 – deepak