ホームページ  >  記事  >  バックエンド開発  >  Php は Java を使用して xml_PHP を解析するチュートリアル

Php は Java を使用して xml_PHP を解析するチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:19:31886ブラウズ

まず 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、内容は次のとおりです:

;名前>スモールゼン

<名前>傘 gt;

ここで、 はルート、 は合計 2 つあり、1 つは Xiao Zeng です。もう一人は同い年のアンブレラ。
PHP が解析するときにファイルを確認します:
$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" )."
"; //最初のノードの name タグ値を取得します
echo $JavaXml->getValue("age")."
";最初のノードの年齢タグ値
$JavaXml->setValue("name","Big Head Dad"); //最初のノードの名前ラベル値を Big Head Dad に設定します
$JavaXml->get( 1); //ここで 2 番目のノードを取得します
echo $JavaXml->getValue("name")."
" //2 番目のノードの名前タグ値を取得します
echo $JavaXml-> ;getValue("age")."
$JavaXml->get(0); たとえば、次のようになります。私の XML ファイルには の 2 つのグループがあり、ここで get(0 ) は最初のグループの を取得し、 get(1) は 2 番目のグループの を取得します。最終的な出力は
Xiao Zeng
20
Umbrella
20
Because $JavaXml->setValue( "name","Big Head Dad"); この文は、最初のノードの name タグの値を変更します。更新されたため、PHP ファイルを再度実行すると、結果は次のようになります。
Big Head Dad
20
Umbrella
20

上記の単純な文は、JDOM を使用して XML を解析する私の JAVA クラスです。 
org.jdom.* をインポートします。 
import org.jdom.output.* ; 
import org.jdom.input.* ; 
インポート java.io.* ; 
インポート java.util.*; 
public class JavaXml {
public String path=null; 
public String XmlFileName=null; 
public SAXBuilder sax=null; 
公開ドキュメント doc=null; 
public 要素 root=null; 
公開リストxlist=null; 
パブリック要素 e=null; 
パブリック要素の値=null; 
public String getTest(){
return new String("haha"); 
}
public JavaXml(){
}
public String init(){
InputStream is = getClass().getResourceAsStream("global.properties"); 
Properties dbProps = new Properties(); 
試してください{
dbProps.load( is ) ; 
}
catch ( Exception e ) {
return ("error file"); 
}
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)
throws Exception
{
this.XmlFileName=XmlFileName; 
this.sax=new SAXBuilder(); 
this.doc=sax.build(new FileInputStream(path+XmlFileName)); 
this.root=doc.getRootElement(); 
this.xlist=root.getChildren(); 
}
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/532644.html技術記事先にインストールした JAVA の実行環境と PHP の組み合わせ、具体的な参考文献 http://www.phpx.com/happy/thr78795.html またはダウンロードhttp://www.javax.org/download/php_java.rar 里面我写有个readme.txt说...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。