アクセス解析 - XMLプログラミングの分析のJAVA
人々とより一般的でグローバルな共通言語としてのXMLの構造は、また、製品の特性とみなさ(マイクロソフトスタジオシリーズは、Oracleシリーズは、インプライズ、ボーランドのシリーズなど)の開発プラットフォームのすべての種類の開発をサポートするためにXMLの。XMLの早期導入の電子政府開発の作者としては、XMLデータ交換情報を使用して、多くのプロジェクトで甘さの多くを味わった、面倒なデータ形式を、XMLデータ表現を使用して簡単に開発することはありません、多くの問題を保存だけでなく、開発者がラインをトレースデバッグに役立つ。
ホームページ制作業者への見積もり&比較が簡単に出来る!Neutrals×ホームページ制作ガイド
XMLアプリケーションでは、最も最も読まれたし、XMLファイルを書くより有用な一般的な、シンプルで、XML文書の作成者は読み取りと簡単な分析を書く。。入力は、ツリーのビューで、正しいかどうか、テストするために開いているすべてのブラウザでInput.xmlをという名前のファイルは、XMLをサポートするために見ることができるこのファイルの構造。あなたは、XMLの構造に精通していない場合は、を参照してくださいすることをお勧めします"DelphiでXMLプログラミングの解析、"XMLファイルの用紙に注意。
Xml version = "1.0" encoding = "GB2312"?>
Student>
Student>
Student Huaming Ce>
準備は、仕事をして、彼らは実質的なJavaコードを記述し始めた。XMLメッセージから読み取るためのファイルを保存し、簡単なBeanがStudentBeanという名前の学生の情報を格納するために構築する必要があると、コードは以下の通りです:
public class StudentBean {
プライベート文字列セックス、ファイル:/ /学生のセックス
プライベート文字列名、ファイル:学生の/ /名前
プライベート文字列電話、ファイル:/ /電話番号
public void setSex(String s) {
sex = s;
}
public void setName(String s) {
name = s;
}
public void setAge(int a) {
age = a;
}
public void setPhone(String s) {
phone = s;
}
public String getSex() {
return sex;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getPhone() {
return phone;
}
}
XMLは、試験後のクラスを書いて、私はXMLTestは、読み取り、およびXML文書を作成するクラス名は、あなたはJavaパッケージ,"//"ノートの後に次のコメントをインポートする必要が言えば、環境の著者は、JDK 1.3.1_04ですJDKの1.4.0にもテストに合格するには、XMLが使用されているApacheのクリムゾンは、Apacheをダウンロードしてホームページに行くことができると説明した。。
です。import java.io. *;ファイル:IO操作の様々が含まれています/ / Javaベースのパッケージ
インポートjava.util .*の、ファイル:標準的なデータ構造のさまざまな操作が含まれています/ / Javaベースのパッケージ
インポートjavax.xml.parsers .*; file:/ /のXMLパーサー
インポートorg.w3c.domの.*;ファイル:/ / XMLのDOMの実装
インポートorg.apache.crimson.tree.XmlDocumentは、/ /するために使用するXMLファイルをお書きください。
より多くの学生の情報を保存するためには、コレクションクラスの助けを借りており、これはベクトルクラスを使用する(だけでは意味のコレクションは、コレクションのJavaフレームワークは、ベクトル、リスト、ハッシュテーブルなどを含む概念のコレクションです)ベクター。XMLTestテストクラスでは、名前student_Vector定義。。コード:
private void readXMLFile(String inFile) throws Exception {
ファイル:/ / XMLを解析するための準備DocumentBuilderFactoryインスタンスを作成するには、DocumentBuilderを指定
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
try {
db = dbf.newDocumentBuilder();
} catch (ParserConfigurationException pce) {
します。System.err.println(PCE)は、ファイル:/ /出力し、例外の例外については、出口は、同じ
System.exit(1);
}
Document doc = null;
try {
doc = db.parse(inFile);
} catch (DOMException dom) {
System.err.println(dom.getMessage());
System.exit(1);
} catch (IOException ioe) {
System.err.println(ioe);
System.exit(1);
}
ファイルは:/ /ここで最初のルート要素は"学生名簿"取得するには、XMLを、比較的単純な解析の全体のプロセスです。
Element root = doc.getDocumentElement();
ファイル:/ /チェック"留学"の要素のリスト
= root.getElementsByTagName("学生")のNodeList学生;
の(int型i = 0の、私
Element student = (Element) students.item(i);
ファイル:/ /学生のBeanのインスタンスを作成します。
StudentBean studentBean = new StudentBean();
studentBean.setSex(student.getAttribute("ジェンダー"));
ファイルは:/ /同様に続いて、"name"要素を取る
= student.getElementsByTagName("名")のNodeList名;
if (names.getLength() == 1) {
Element e = (Element) names.item(0);
Text t = (Text) e.getFirstChild();
studentBean.setName(t.getNodeValue());
}
= student.getElementsByTagName("年齢")のNodeList年代;
if (ages.getLength() == 1) {
Element e = (Element) ages.item(0);
Text t = (Text) e.getFirstChild();
studentBean.setAge(Integer.parseInt(t.getNodeValue()));
}
= student.getElementsByTagName("電話")のNodeList電話;
if (phones.getLength() == 1) {
Element e = (Element) phones.item(0);
Text t = (Text) e.getFirstChild();
studentBean.setPhone(t.getNodeValue());
}
student_Vector.add(studentBean);
}
}
private void writeXMLFile(String outFile) throws Exception {
ファイル:/ / XMLを解析するための準備DocumentBuilderFactoryインスタンスを作成するには、DocumentBuilderを指定
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
try {
db = dbf.newDocumentBuilder();
} catch (ParserConfigurationException pce) {
System.err.println(pce);
System.exit(1);
}
Document doc = null;
doc = db.newDocument();
ファイルは:/ /ここで最初のルート要素は"学生名簿"を作成し、XMLドキュメントの内容を確立するプロセスです。
要素にroot = doc.createElement("学生名簿");
ファイルは:/ /文書のルート要素を追加します。
doc.appendChild(root);
の(int型i = 0の、私
StudentBean studentBean = (StudentBean) student_Vector.get(i);
ファイル:ルート要素に"留学"の要素の/ /設立
要素の学生= doc.createElement("学生");
("セックス"、studentBean.getSex())student.setAttribute;
root.appendChild(student);
ファイルは:/ /、学生に次の行を追加、同じものを"name"要素を作成する
要素名= doc.createElement("名前");
student.appendChild(name);
Text tName = doc.createTextNode(studentBean.getName());
name.appendChild(tName);
要素の年齢= doc.createElement("年齢");
student.appendChild(age);
Text tAge = doc.createTextNode(String.valueOf(studentBean.getAge()));
age.appendChild(tAge);
要素電話= doc.createElement("携帯電話");
student.appendChild(phone);
Text tPhone = doc.createTextNode(studentBean.getPhone());
phone.appendChild(tPhone);
}
FileOutputStream outStream = new FileOutputStream(outFile);
OutputStreamWriter outWriter = new OutputStreamWriter(outStream);
((XmlDocument) doc).write(outWriter, "GB2312");
outWriter.close();
outStream.close();
}
次のように最後に、テストの主な機能を追加:
public static void main(String[] args) throws Exception {
ファイルは:/ /テストケースを作成する
XMLTest xmlTest = new XMLTest();
ファイル:/ /初期化ベクタリスト
xmlTest.student_Vector = new Vector();
System.out.println("スタート読んInput.xmlをファイル");
xmlTest.readXMLFile("Input.xml");
System.out.printlnは、("終了読み、Output.xmlファイルを書き始めた");
xmlTest.writeXMLFile("Output.xml");
System.out.println("完全にお書きください。");
}
保存StudentBeanはXMLTest、作業ディレクトリをInput.xmlを保存する。あなたは間違って手紙をヒットしませんでしたが、非常に慎重に入力すると、あなたは、"完了の書き込み"を参照してくださいすることができますOutput.xmlファイルを見て、ファイルはとしてInput.xmlを同じではありません。