我正在尝试从代码段中的namednodemap中删除nameditem。如果我删除它会跳过某些属性,可能会在我删除项目时调整地图索引。
有关如何解决此问题的想法吗?
NamedNodeMap map = thisNode.getAttributes();
for (int i=0; i < map.getLength(); i++)
{
String itemName = map.item(i).getNodeName();
String itemValue = map.item(i).getNodeValue();
logger.debug("Attributes [" + itemName + ":" + itemValue + "]");
if (itemName.equals("xmlns:xsd") || itemName.equals("elementFormDefault") || itemName.equals("targetNamespace"))
{
logger.debug("Keep this attribute[" + itemName + "]");
}
else if (itemValue.contains(IDENTIFIER))
{
logger.debug("Keep this attribute [" + itemName + ":" + itemValue + "]");
}
else //if (removeThis)
{
// remove these attribute name spaces
logger.debug("Remove [" + itemName + "]");
if (itemName.equalsIgnoreCase(itemName))
{
//map.removeNamedItem(map.item(i).getNodeName());
}
}
}
答案 0 :(得分:0)
你可能想尝试从头到尾迭代:
for (int i=map.getLength()-1; i>=0; i--)