Php利用java解析xml

A_你活不明白了

A_你活不明白了

2016-01-29 13:33

Php利用java解析xml,Php利用java解析xml

请先安装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,内容如下: 
<?xml version="1.0" encoding="UTF-8"? 
<product 
<hello 
<name小曾</name 
<age20</age 
</hello 
<hello 
<name雨伞</name 
<age20</age 
</hello 
</product 
其中<product是根,<hello是节点,一共有两个,name值名字不一样,一个是小曾一个是雨伞,年龄一样。 
下面看PHP解析时候的文件: 
<?php 
$JavaXml = new Java("JavaXml"); //这里是生成一个我写的JAVA解析XML数据的类 
$JavaXml-init(); //这里为初始化,比如取global.properties文件里的XML文件目录(当然你下载了例子以后要改成你的XML文件目录) 
$JavaXml-Parse("first.xml"); //指定要解析的文件,相对于global.properties文件里指定的目录下 
$JavaXml-get(0); //这里为取得第一个节点 
echo $JavaXml-getValue("name")."<br"; //取得第一个节点name标签值 
echo $JavaXml-getValue("age")."<br"; //取得第一个节点age标签值 
$JavaXml-setValue("name","大头爸爸"); //设置第一个节点name标签值为大头爸爸 
$JavaXml-get(1); //这里为取得第二个节点 
echo $JavaXml-getValue("name")."<br"; //取得第二个节点name标签值 
echo $JavaXml-getValue("age")."<br"; //取得第二个节点age标签值 


$JavaXml-get(0);取得节点位置,比如我的XML文件有两组<hello,这里get(0)的话就是取第一组的<hello ,get(1)就是取第二组的<hello. 
最后输出是 
小曾 
20 
雨伞 
20 
因为$JavaXml-setValue("name","大头爸爸"); 这句修改了第一个节点的name标签的值,XML文件已经被更新过了,所以当再执行一次这个PHP文件的时候结果会成为 
大头爸爸 
20 
雨伞 
20 

以上简单几句就解析完了,下面是我的JAVA类,里面用到了JDOM来解析XML。 
import org.jdom.* ; 
import org.jdom.output.* ; 
import org.jdom.input.* ; 
import java.io.* ; 
import java.util.*; 
public class JavaXml { 
public String path=null; 
public String XmlFileName=null; 
public SAXBuilder sax=null; 
public Document doc=null; 
public Element root=null; 
public List xlist=null; 
public Element e=null; 
public Element 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 

展开更多 50%)
分享

猜你喜欢

Php利用java解析xml

PHP
Php利用java解析xml

Php与java结合解析xml

PHP
Php与java结合解析xml

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

利用MSXML解析XML文本

Web开发
利用MSXML解析XML文本

Java操作XML编程实例解析

Web开发
Java操作XML编程实例解析

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

使用PHP 5.0 轻松解析XML文档

PHP
使用PHP 5.0 轻松解析XML文档

Java中对XML的解析详解

编程语言 网络编程
Java中对XML的解析详解

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《噬神者:爆裂》配信DLC包今日发布附说明

《噬神者:爆裂》配信DLC包今日发布附说明

《战神:斯巴达之魂》操作技巧指南

《战神:斯巴达之魂》操作技巧指南
下拉加载更多内容 ↓