java @ xml

其實邊種方法好用

重有如果知道 GPS 二點的 coord 有無方法計到個 distance
但我math 好差

[ 本帖最後由 阿水 於 2008-12-12 17:24 編輯 ]

java 入面用xml 定點

知道每個數代表幾多咪計到囉
用畢氏定理計到個直線距離

TOP

原帖由 DarkHero 於 2008-12-12 18:26 發表
java 入面用xml 定點

知道每個數代表幾多咪計到囉
用畢氏定理計到個直線距離


駛唔駛當係球面咁考慮, 咁就係非歐幾何... 如果單考慮一個城市就唔使啦.

TOP

你想parse XML 定 write XML?

TOP

原帖由 望月小妖 於 2008-12-12 07:18 PM 發表
你想parse XML 定 write XML?

both

TOP

原帖由 thinkpanda 於 2008-12-12 18:45 發表


駛唔駛當係球面咁考慮, 咁就係非歐幾何... 如果單考慮一個城市就唔使啦.

重點係睇佢要幾準確啦
不過用得gps,佢唔係同你計埋架咩

TOP

原帖由 DarkHero 於 2008-12-12 08:13 PM 發表

重點係睇佢要幾準確啦
不過用得gps,佢唔係同你計埋架咩



唔好差太遠

TOP

如果唔係做d 乜重要野
你錯左都無人知啦

TOP

原帖由 阿水 於 2008-12-12 20:08 發表

both


free for you
  1. import java.io.*;
  2. import javax.xml.parsers.*;
  3. import javax.xml.transform.*;
  4. import javax.xml.transform.dom.*;
  5. import javax.xml.transform.stream.*;
  6. import org.w3c.dom.*;
  7. import org.xml.sax.*;

  8. public class XmlUtility {

  9.         public static Document createXmlDocument() throws ParserConfigurationException {
  10.                 ParserConfigurationException pcException = null;
  11.                 Document document = null;

  12.                 DocumentBuilderFactory factory = null;
  13.                 DocumentBuilder builder = null;
  14.                 try {
  15.                         factory = DocumentBuilderFactory.newInstance();
  16.                         builder = factory.newDocumentBuilder();
  17.                         document = builder.newDocument();
  18.                 } catch (ParserConfigurationException e) {
  19.                         pcException = e;
  20.                         document = null;
  21.                 }

  22.                 if (pcException != null) {
  23.                         throw pcException;
  24.                 } else {
  25.                         return document;
  26.                 }
  27.         }
  28.        
  29.         public static Document parseXmlDocument(InputStream stream) throws ParserConfigurationException, SAXException, IOException {
  30.                 return parseXmlDocument(new InputSource(stream));
  31.         }

  32.         public static Document parseXmlDocument(Reader reader) throws ParserConfigurationException, SAXException, IOException {
  33.                 return parseXmlDocument(new InputSource(reader));
  34.         }

  35.         public static Document parseXmlDocument(InputSource source) throws ParserConfigurationException, SAXException, IOException {
  36.                 ParserConfigurationException pcException = null;
  37.                 SAXException saxException = null;
  38.                 IOException ioException = null;
  39.                 Document document = null;
  40.                
  41.                 DocumentBuilderFactory factory = null;
  42.                 DocumentBuilder builder = null;
  43.                 try {
  44.                 factory = DocumentBuilderFactory.newInstance();
  45.                 builder = factory.newDocumentBuilder();
  46.                 document = builder.parse(source);                       
  47.                 } catch (ParserConfigurationException e) {
  48.                         pcException = e;
  49.                 } catch (SAXException e) {
  50.                         saxException = e;
  51.                 } catch (IOException e) {
  52.                         ioException = e;
  53.                 }
  54.                
  55.                 if (pcException != null) {
  56.                         throw pcException;
  57.                 } else if (saxException != null) {
  58.                         throw saxException;
  59.                 } else if (ioException != null) {
  60.                         throw ioException;
  61.                 } else {
  62.                         return document;                       
  63.                 }
  64.         }

  65.         public static void exportXmlDocument(Document document, OutputStream stream) throws TransformerConfigurationException, TransformerException, TransformerFactoryConfigurationError {
  66.                 exportXmlDocument(document, new StreamResult(stream));
  67.         }

  68.         public static void exportXmlDocument(Document document, Writer writer) throws TransformerConfigurationException, TransformerException, TransformerFactoryConfigurationError {
  69.                 exportXmlDocument(document, new StreamResult(writer));
  70.         }

  71.         public static void exportXmlDocument(Document document, StreamResult result) throws TransformerConfigurationException, TransformerException, TransformerFactoryConfigurationError {
  72.                 try {
  73.                         Transformer transformer = TransformerFactory.newInstance().newTransformer();
  74.                         transformer.setOutputProperty(OutputKeys.INDENT, "yes");
  75.                         transformer.transform(new DOMSource(document), result);
  76.                 } catch (TransformerConfigurationException e) {
  77.                         throw e;
  78.                 } catch (TransformerException e) {
  79.                         throw e;
  80.                 } catch (TransformerFactoryConfigurationError e) {
  81.                         throw e;
  82.                 }
  83.         }

  84. }
複製代碼
Usage:
  1. try {
  2.         Document document = null;
  3.         Element element = null;
  4.         NodeList list = null;
  5.         Node node = null;
  6.        
  7.         // write XML document
  8.         document = createXmlDocument();
  9.         element = document.createElement("a");
  10.         element.setAttribute("href", "http://www.hkepc.com/");
  11.         document.appendChild(element);

  12.         StringWriter writer = new StringWriter();
  13.         exportXmlDocument(document, writer);
  14.         String content = writer.toString();
  15.         System.out.println(content);

  16.         // parse XML document
  17.         StringReader reader = new StringReader(content);
  18.         document = parseXmlDocument(reader);
  19.         list = document.getElementsByTagName("a");
  20.         for (int idx = 0; idx < list.getLength(); idx++) {
  21.                 node = list.item(idx);
  22.                 if (node.getNodeType() == Node.ELEMENT_NODE) {
  23.                         element = (Element)node;
  24.                        
  25.                         String tag = element.getNodeName();
  26.                         String href = element.getAttribute("href");
  27.                         System.out.println(tag + "=" + href);
  28.                 }
  29.         }
  30. } catch (Exception e) {
  31.         e.printStackTrace();
  32. }
複製代碼

[ 本帖最後由 望月小妖 於 2008-12-12 21:42 編輯 ]

TOP

原帖由 望月小妖 於 2008-12-12 09:40 PM 發表


free for you import java.io.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import org.w3c.dom.*;
import org ...



DOM 同  SAX 有甚麼問題分別

TOP