我有包含2222种颜色的XML文件,其中包含两个属性的名字和第二个rgb值(实际上是它的十六进制值)。
我试图显示用户点击鼠标的位置的颜色名称。 String hexstring(parameter value)
是用户点击颜色的十六进制值,此值将与rgbvalue
进行比较(如果两者匹配,则将其十六进制值存储在XML文件中),然后显示存储在XML文件中的颜色名称,但我的比较if
声明无效
public static void xmlfilereader(String hexString)
{
try{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
File file = new File("colore.xml");
if (file.exists()) {
Document doc = db.parse(file);
Element docEle = doc.getDocumentElement();
System.out.println("Root element of the document: "
+ docEle.getNodeName());
NodeList colorList = docEle.getElementsByTagName("color");
System.out.println("Total Color: " + colorList.getLength());
if (colorList != null && colorList.getLength() > 0) {
for (int i = 0; i < colorList.getLength(); i++) {
Node node = colorList.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
NodeList mycolorList = doc.getElementsByTagName("color");
Element colorElement = (Element) mycolorList.item(i);
String colorName = colorElement.getAttribute("name");
String rgbvalue = colorElement.getAttribute("rgb");
if(hexString.equalsIgnoreCase(rgbvalue) )
{
System.out.println("color name: " + colorName + " Hex: " + rgbvalue);
}
else
{
System.out.println("comparision if not working");
}
}
输出:
Root element of the document: ColorDefinition
Total Color: 2222
comparision if not working
comparision if not working
comparision if not working
......
此代码只与xml文件的第一种颜色进行比较