我有包含 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 文件的第一种颜色进行比较