Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 颜色检测_Java_Xml_Colors_Hex - Fatal编程技术网

Java 颜色检测

Java 颜色检测,java,xml,colors,hex,Java,Xml,Colors,Hex,我有一个包含2222种颜色的XML文件,其中有两个属性:第一个名称和第二个rgb值(实际上是它的十六进制值) 我试图显示用户单击鼠标的位置的颜色名称String hextstring(参数值)是用户单击颜色的十六进制值。此值将与rgbvalue(实际上它的十六进制值存储在XML文件中)进行比较。如果两者匹配,则显示存储在XML文件中的颜色名称,但如果语句不起作用,则显示我的比较 public static void xmlfilereader(String hexString) {

我有一个包含2222种颜色的XML文件,其中有两个属性:第一个名称和第二个rgb值(实际上是它的十六进制值)
我试图显示用户单击鼠标的位置的颜色名称
String hextstring(参数值)
是用户单击颜色的十六进制值。此值将与
rgbvalue
(实际上它的十六进制值存储在XML文件中)进行比较。如果两者匹配,则显示存储在XML文件中的颜色名称,但如果语句不起作用,则显示我的比较

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");
                                }
                      }

此代码仅与xml文件的第一种颜色进行比较

您是否尝试打印
hextstring
rgbvalue
的值以查看它们是否实际匹配?从XML中检索RGB值的方法可能在某些地方是错误的。也粘贴您的示例XML。“
如果不起作用则进行比较”
“Egads!在文本应用程序上运行拼写检查器。可能会打印很多次。还有第二个词,
如果
?尊敬的安德鲁·汤普森!比较if表示比较的if语句。。。。这只是其他方面的信息。。
Root element of the document: ColorDefinition

Total Color: 2222

comparision if not working

comparision if not working

comparision if not working
......