我是Java新手。我想要一些建议如何在将数据数组放入HashMap时剪切括号,我正在从Xml文件中解析。 这是我的一段代码 - >>>
final List<String> ITEMS = new ArrayList<String>();
final List<String> URLS = new ArrayList<String>();
final HashMap urls = new HashMap();
NodeList nList = doc.getElementsByTagName("Row");
for (int z=0; z<nList.getLength(); z++) {
Node nNode = nList.item(z);
Element eElement = (Element) nNode;
NodeList a = eElement.getElementsByTagName("item");
for (int i=0; i<a.getLength(); i++) {
ITEMS.clear();
URLS.clear();
urls.clear();
String b = eElement.getElementsByTagName("item").item(i).getTextContent();
String c = eElement.getElementsByTagName("url").item(i).getTextContent();
ITEMS.add(b);
URLS.add(c);
urls.put(ITEMS, URLS);
System.out.println(urls);
}
}
现在我有了key = value对。
这个的输出是:
{[Select product]=[bla-bla-bla]}
{[Single Landmine Shirt]=[http://www.sample.com/landmine-single-shirt]}
{[Women's Silver & Black Bar]=[http://www.sample.com/womens-silver-and-black-bar]}
{[High Density Foam Rollers]=[http://www.sample.com/high-density-foam-rollers]}
{[Sling Shot Hogan Wraps]=[http://www.sample.com/sling-shot-hogan-wraps]}
{[Heavy Duty Multi Grip Bar MG-1 - Closeout]=[http://www.sample.com/heavy-duty-multi-grip-bar-mg-1]}
我的目标是通过相应的键(产品名称)打印值(Url)。 问题是:当我进一步尝试将HashMap中的任何键与String项目(我在d-down列表中得到的产品名称)进行比较时 - 我有一个不匹配的问题。 我确定这是因为方括号 - 存储在HashMap中。
请建议如何从我的网址
中删除方括号。我希望这个HashMap看起来像这样:
{Select product = bla-bla-bla}
{Single Landmine Shirt = http://www.sample.com/landmine-single-shirt}
{Women's Silver & Black Bar = http://www.sample.com/womens-silver-and-black-bar}
etc.
对任何建议都会很满意。 谢谢
答案 0 :(得分:2)
更好地格式化自己
声明:
final HashMap<String,String> urls_corrects = new HashMap<String,String>();
在循环中执行此操作:
urls_corrects.put(b,c);
像这样打印:
for (String one_item:urls_corrects.keySet())
System.out.println("{"+one_item+" = "+urls_corrects.get(one_item)+"}");
答案 1 :(得分:1)
简单替换 urls.put(ITEMS,URLS); 通过 urls.put(A,B);
因为您将地图中的键和值设为List。所以它会打印[]。