<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            Java高級:怎樣讀取和處理XML的配置文件

            時間:2025-12-18 04:27:58 java語言 我要投稿

            Java高級:怎樣讀取和處理XML的配置文件

              Java高級:怎樣讀取和處理XML的配置文件呢?看了下面小編整理的內容你就知道怎么解決您的問題了,希望對您有所幫助!更多內容請關注應屆畢業生考試網!

              在我們的程序中,通常要有一些根據主機環境確定的變量.比如數據庫訪問用戶名和密碼,不同的主機可能設置不一樣.只要更改XML配置文件,就可以正常運行.

              localhost

              sqlname

              username

              password

              上面這個myenv.xml配置文件一般是放在tomcat的WEB-INF/classes目錄下.

              我們編制一個Java程序直接讀取,將dbhost dbuser dbpassword提取出來供其他程序訪問數據庫用.

              目前使用SAX比較的多,與DOM主要區別是 SAX是一行一行讀取XML文件進行分析,適合比較大文件,DOM是一次性讀入內存,顯然不能對付大文件.這里我們使用SAX解析,由于SAX解析器不斷在發展,網上有不少文章是針對老版本的.如果你使用JDK1.4 ,可以參考 使用SAX處理XML文檔 一文.這里的程序是根據其改進并且經過實踐調試得來的.

              對上面myenv.xml讀取的Java程序:

              import org.xml.sax.Attributes;

              import org.xml.sax.helpers.DefaultHandler;

              import org.xml.sax.SAXException;

              import java.util.Properties;

              /pic/span>

              public class ConfigParser extends DefaultHandler {

              /pic/pic/span>

              private Properties props;

              private String currentSet;

              private String currentName;

              private StringBuffer currentValue = new StringBuffer();

              /pic/span>

              public ConfigParser() {

              this.props = new Properties();

              }

              public Properties getProps() {

              return this.props;

              }

              /pic/span>

              public void startElement(String uri, String localName, String qName, Attributes attributes)

              throws SAXException {

              currentValue.delete(0, currentValue.length());

              this.currentName =qName;

              }

              /pic/span>

              public void characters(char[] ch, int start, int length) throws SAXException {

              currentValue.append(ch, start, length);

              }

              /pic/span>

              public void endElement(String uri, String localName, String qName) throws SAXException {

              props.put(qName.toLowerCase(), currentValue.toString().trim());

              }

              }

              上面的這個解析程序比較簡單吧? 其實解析XML就是這么簡單.

              現在我們已經將dbhost dbuser dbpassword的值localhost sqlname username password提取了出來.但是這只是在在解析器內部,我們的程序還不能訪問.需要再編制一個程序.

              import java.util.Properties;

              import javax.xml.parsers.SAXParser;

              import javax.xml.parsers.SAXParserFactory;

              import java.net.URL;

              public class ParseXML{

              /pic/span>

              private Properties props;

              /pic/span>

              public Properties getProps() {

              return this.props;

              }

              public void parse(String filename) throws Exception {

              /pic/span>

              ConfigParser handler = new ConfigParser();

              /pic/span>

              SAXParserFactory factory = SAXParserFactory.newInstance();

              factory.setNamespaceAware(false);

              factory.setValidating(false);

              /pic/span>

              SAXParser parser = factory.newSAXParser();

              /pic/classes

              /pic/span>

              URL confURL = BeansConstants.class.getClassLoader().getResource(filename);

              try

              {

              /pic/span>

              parser.parse(confURL.toString(), handler);

              /pic/span>

              props = handler.getProps();

              }finally{

              factory=null;

              parser=null;

              handler=null;

              }

              }

              }

              由于我們的XML文件是使用最簡單的形式 ,因此解析器相對簡單,但是這已經足夠對付我們的配置文件了.

            【Java高級:怎樣讀取和處理XML的配置文件】相關文章:

            java讀取解析xml文件實例02-26

            PHP如何使用DOM和simplexml讀取xml文檔04-20

            java如何讀取CSV05-08

            Java讀取郵件的方法02-02

            java讀取CSV的方法03-28

            XML中的處理指令02-03

            java讀取CSV的方法大全04-04

            如何利用java讀取網絡照片01-08

            java如何通過url讀取文件05-05

            • 相關推薦

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院