検索
ホームページphp教程php手册PhpはJavaを使用してXMLを解析します

xml

Author: Umbrella
まず、JAVA に興味がない場合、ホストが JAVA をサポートしていない場合、または学習するつもりがない場合は、ここで時間を無駄にしないでください。

最初に JAVA 実行環境をインストールし、PHP と組み合わせてください。詳細については、http://www.phpx.com/happy/thr78795.html

を参照するか、http://www.javax.org/ をダウンロードしてください。 download/php_java.rar
中にreadme.txtの説明文書を書きましたが、この圧縮パッケージは簡単な例です。

私の JAVA ソース コードをダウンロードするには、http://www.javax.org/download/JavaXml.rar にアクセスしてください

その他の質問がある場合は、http://www.javax.org/ にアクセスして質問してください。 。


最初はPHPを使ってXMLを解析しようと思ったのですが、PHPでXMLを解析するのはちょっと面倒だったのでPHP5のほうが便利そうなのですが、ここでは5をインストールしなかったので4.3のままでした。 。その後、IBM の記事 (http://www-900.cn.ibm.com/developer...kit/index.shtml) に、JAVA を使用して実行できることが記載されていたので、試してみます。

解析する XML ファイル: first.xml、内容は次のとおりです:



シャオ・ゼン
20



20 ;
こんにちは>

PHP が解析するときにファイルを確認します:

/*
作成者: Umbrella
時刻: 2004/12/28
*/

$JavaXml = new Java("JavaXml") //ここXML データを解析するために Java 用に書いたクラスを生成するためです
$JavaXml->init(); //ここでは、global.properties ファイル内の XML ファイル ディレクトリを取得するなどの初期化が行われます (もちろん変更する必要があります)サンプル XML ファイル ディレクトリをダウンロードした後、それを自分のものにします)
$JavaXml->Parse("first.xml") //global.properties ファイルで指定されたディレクトリを基準にして、解析するファイルを指定します
$JavaXml- >get(0); //最初のノード
echoを取得します $JavaXml->getValue("name")."
" //最初のノード
echoのnameタグ値を取得します$JavaXml->getValue(" age")."
"; //最初のノードの年齢ラベル値を取得します
$JavaXml->setValue("name","Big Head Daddy") / /最初のノードの名前ラベルの値を Big Head Dad に設定します
$JavaXml->get(1); //ここで 2 番目のノードを取得します
echo $JavaXml->getValue("name")."< ;br>"; //2 番目のノード名タグの値を取得します
echo $JavaXml->getValue("age")."
"; //2 番目のノードの age タグ値を取得します
?>


$JavaXml->get(0) ; たとえば、私の XML ファイルには の 2 つのグループがあります。 get(1) は 2 番目のグループの を取得します

最終的な出力は
Xiao Zeng
20
Umbrella
20

です $JavaXml->setValue("name","Big Head Dad") ); この文は最初のノードの name タグの値を変更する XML ファイルが更新されているので、この PHP ファイルを再度実行すると、結果は
Big Head Daddy
20
Umbrella
20


上記の分析は、いくつかの簡単な文で完了します。以下は、JDOM を使用して XML を解析する私の JAVA クラスです。

import org.jdom.* ;
import org.jdom.output.* ;
import org.jdom.input.* ;
import java.io.* ;
import java.util.*;
/*
Author : アンブレラ
時刻: 2004/12/28
*/
public class JavaXml {
public String path=null;
public String XmlFileName=null;
public SAXBuilder sax=null;
public Document doc=null;
public Element root =null;
public リスト xlist=null;
public 要素 e=null;
public 要素 value=null;

public String getTest(){
return new String("haha");
}
public JavaXml(){

}

public String init(){

InputStream is = getClass().getResourceAsStream("global.properties");
Properties dbProps = new Properties();
try {
dbProps.load( is ) ;
}
catch ( Exception e ) {
return ("エラー ファイル");
}
this.path=dbProps.getProperty("XmlPath");
return ("ok");
}

public void get(int child){
this.e=(Element)xlist.get(child);
}
public String getValue(String name){
this.value=e.getChild(name);
return this.value.getText() ;
}
public void setValue(String name,String value)throws Exception{
this.value=e.getChild(name);
this.value.setText(value);
XMLOutputter xmlout=new XMLOutputter();
xmlout .output(doc,new FileOutputStream(path+XmlFileName));
}

public void Parse(String XmlFileName)
例外をスローします
{
this.XmlFileName=XmlFileName;
this.sax=new SAXBuilder();
this.doc=sax.build(new FileInputStream(path +
this.xlist=root.getChildren();
}

}


まだ何も理解できない場合は、初心者にとってこれが面倒なのか便利なのかわかりませんが、可能だと思われる場合は、コメントを残してください。その JAVA クラスを改善し、XML を解析するためのより多くの機能を提供します。



声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール