dimens tool---quick value

来源:互联网 发布:最新手机淘宝开店教程 编辑:程序博客网 时间:2024/05/16 17:35
import java.io.File;import java.io.IOException;import java.math.BigDecimal;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.w3c.dom.Document;import org.w3c.dom.Node;import org.w3c.dom.NodeList;public class UpdateXml {static float x_scal=0;static float y_scal=0; public static boolean doc2XmlFile(Document document,String filename)     {       boolean flag = true;       try        {             /** 将document中的内容写入文件中   */              TransformerFactory tFactory = TransformerFactory.newInstance();                 Transformer transformer = tFactory.newTransformer();              /** 编码 */             //transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");              DOMSource source = new DOMSource(document);               StreamResult result = new StreamResult(new File(filename));                 transformer.transform(source, result);           }catch(Exception ex)          {              flag = false;              ex.printStackTrace();          }         return flag;           }  public static Document load(String filename)     {        Document document = null;       try         {              DocumentBuilderFactory   factory = DocumentBuilderFactory.newInstance();                DocumentBuilder builder=factory.newDocumentBuilder();                document=builder.parse(new File(filename));                document.normalize();        }       catch (Exception ex){            ex.printStackTrace();        }         return document;     }   /**      *   演示修改文件的具体某个节点的值       */    public static void xmlUpdateDemo_x()     {     String path = "./src/dimens_x.xml";        Document document = load(path);        Node root=document.getDocumentElement();       /** 如果root有子元素 */       if(root.hasChildNodes())        {          /** ftpnodes */           NodeList ftpnodes = root.getChildNodes();          /** 循环取得ftp所有节点 */          for (int i=0;i<ftpnodes.getLength();i++)           {                                    NodeList ftplist = ftpnodes.item(i).getChildNodes();                          for (int k=0;k<ftplist.getLength();k++)              {                            Node subnode = ftplist.item(k);                if(null == subnode)continue;                                             String strValue=subnode.getNodeValue();               System.out.println(strValue);               if(strValue.endsWith("dp"))            {                               String strTrue= strValue.replace("dp","");//                  System.out.println(strTrue);                 double fTrue=Float.valueOf(strTrue.trim());                 fTrue=(double) (fTrue*x_scal);                BigDecimal   b   =   new   BigDecimal(fTrue);                   double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();                                   System.out.println(fTrue);                                  subnode.setNodeValue(f1+"dp");            }               if(strValue.endsWith("sp"))               {                                     String strTrue= strValue.replace("sp","");//                     System.out.println(strTrue);                    double fTrue=Float.valueOf(strTrue.trim());                    fTrue=(double) (fTrue*y_scal);                   BigDecimal   b   =   new   BigDecimal(fTrue);                      double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();                                         System.out.println(fTrue);                                        subnode.setNodeValue(f1+"sp");               }             }                        }        }       String path2="./src/dimens_x_changed.xml";       File file=new File(path2);      if(!file.exists())      {      try {file.createNewFile();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}      }      doc2XmlFile(document,path2);     }   public static void xmlUpdateDemo_y()    {     String path = "./src/dimens_y.xml";       Document document = load(path);       Node root=document.getDocumentElement();      /** 如果root有子元素 */      if(root.hasChildNodes())       {         /** ftpnodes */          NodeList ftpnodes = root.getChildNodes();         /** 循环取得ftp所有节点 */         for (int i=0;i<ftpnodes.getLength();i++)          {                                   NodeList ftplist = ftpnodes.item(i).getChildNodes();                        for (int k=0;k<ftplist.getLength();k++)             {                          Node subnode = ftplist.item(k);               if(null == subnode)continue;                                          String strValue=subnode.getNodeValue();              System.out.println(strValue);              if(strValue.endsWith("dp"))           {                         String strTrue= strValue.replace("dp","");//             System.out.println(strTrue);            double fTrue=Float.valueOf(strTrue.trim());            fTrue=(double) (fTrue*y_scal);           BigDecimal   b   =   new   BigDecimal(fTrue);              double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();                         System.out.println(fTrue);                        subnode.setNodeValue(f1+"dp");           }              if(strValue.endsWith("sp"))              {              String strTrue= strValue.replace("sp","");//             System.out.println(strTrue);            double fTrue=Float.valueOf(strTrue.trim());            fTrue=(double) (fTrue*y_scal);           BigDecimal   b   =   new   BigDecimal(fTrue);              double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();                         System.out.println(fTrue);                        subnode.setNodeValue(f1+"sp");              }                                                       /** 删除ftp-chn节点 */ //             if (subnode.getNodeType()==Node.ELEMENT_NODE&&subnode.getNodeName()=="ftp-chn") //              { //                 ftpnodes.item(i).removeChild(subnode); //              }              /** 修改ftp-host的值为 192.168.0.1 */ //             if (subnode.getNodeType()==Node.ELEMENT_NODE&&subnode.getNodeName()=="status") //              {                  //                 subnode.getFirstChild().setNodeValue("1"); //              }             }                      }       }      String path2="./src/dimens_y_changed.xml";      File file=new File(path2);     if(!file.exists())     {     try {file.createNewFile();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}     }     doc2XmlFile(document,path2);    }      public static void main(String args[])throws Exception   {   UpdateXml.x_scal=(float) 0.711;   UpdateXml.y_scal=(float) 0.711;      UpdateXml.xmlUpdateDemo_x();       UpdateXml.xmlUpdateDemo_y();   }} /*** *                   String strValue=subnode.getNodeValue();               System.out.println(strValue);               if(strValue.endsWith("dp"))            {                           String strTrue= strValue.replace("dp","");              System.out.println(strTrue);             float fTrue=Float.valueOf(strTrue.trim());             fTrue=(float) (fTrue*0.445);             System.out.println(fTrue);                          subnode.getFirstChild().setNodeValue(fTrue+"dp");             System.out.println(strTrue);            } */

0 0