最初の名前と2番目のrgb値(実際には16進値)の2つの属性を持つ2222色を含むXMLファイルがあります。
ユーザーがマウスをクリックした位置の色名を表示しようとしています。 String hexstring(parameter value)
ユーザーがクリックした色の16進値です。この値はrgbvalue
(実際にはXMLファイルに保存されている16進値)と比較されます。両方が一致する場合、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 ファイルの最初の色と比較するだけです