Java解析xml,变成通用方法。 本帖最后由 y11111494 于 2010-01-18 15:43:45 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第一是,请把你的返回值写给我好么?第二是,无论下面的xml中填进多少层的嵌套,都能通过传递进applevels数组,该函数都能返回applevels中最后一个值对应的所有name值。 你能不能解释清楚点。applevels是{"ReadFile","File"}数组 通过这个值,你想拿到的name是什么东西,<ReadFile name="AAA"> <File name="A"> <FileName name="a.xml">你自己看你的XML文件,这几个到底你想要哪个,他们都是的element name都是“name”看来我年纪大了,中文理解能力日渐衰弱啊 如果applevels是{"ReadFile","File","FileName"}则返回值是:a.xml,b.xml,c.xml如果applevels是{"ReadFile","File"}则返回值是:A,B,C如果applevels是{"ReadFile"}则返回值是:AAA朋友,还有疑问吗? filepath:是下面的xml文件路径,appname是ReadFile的name值,applevels是{"ReadFile","File"}数组这样的解析我已经实现。 ====================风骚线=================================你能给我你实现这样的解析的代码么?我参考下 #!/usr/bin/perlopen FILE,'a.xml' ; #打开文件my $input;my @output ; #这是perl里面的数组$input=<STDIN>; #这里是用来输入你的数组最后一个参数的chomp $input;my $pattern="\<$input\\s*name=(\.*?)>" ; #这是我用到的正则while(<FILE>){ if($_=~s/$pattern/$1/) #这边你可以用java的正则来代替 { push @output,$1; #把结果添加到数组中去 }}foreach $a(@output){print $a."\n";}我很不老实地写了个Perl版本的楼主可以勉强看下,等下写个java版本的,太久没写java了,有些生疏 用XPath,这种东西很容易,path可以这么写:ReadFile/File/FileName 用XPath,这种东西很容易,path可以这么写:ReadFile/File/FileName 我现在才刚刚开始学J2SE相关的东西,以前学的都是WEB方面的东西,JEE方面的.现在一下子接触不同的东西,感觉思想上有点跟不上.好多东西不会的.现在就要我把XML文件转化成字符串,然后再放进javabean里.晕了,我搞了半天. 给lz找了个小例子,看看吧,希望对你有所帮助!http://www.phome.asia/article/1194.html 多态问题 java发送邮件失败 急急急!明天补考用!一道求二叉树非叶子结点的数据结构题。 程序员这行业文凭是不是很重要? swing中的图片问题 编码打败了我,高手相助,问题解决马上给分! Think in Java中关于线程的一道习题不会做。 这两个有区别么?(String[] args) 和(String args[])? 大家能谈谈对内隐类(inner class)的理解吗?我对这个很糊涂! 做XML解析,list的add总是只有最后一个结果,解析的结果也有问题 JAVA SE 静态变量与存读档问题 int tab[][] = new int[4][];这个写法分配多少堆空间?
第二是,无论下面的xml中填进多少层的嵌套,都能通过传递进applevels数组,该函数都能返回applevels中最后一个值对应的所有name值。
你能不能解释清楚点。
applevels是{"ReadFile","File"}数组
通过这个值,你想拿到的name是什么东西,
<ReadFile name="AAA">
<File name="A">
<FileName name="a.xml">
你自己看你的XML文件,这几个到底你想要哪个,他们都是的element name都是“name”
看来我年纪大了,中文理解能力日渐衰弱啊
如果applevels是{"ReadFile","File"}则返回值是:A,B,C
如果applevels是{"ReadFile"}则返回值是:AAA朋友,还有疑问吗?
这样的解析我已经实现。
====================风骚线=================================
你能给我你实现这样的解析的代码么?
我参考下
#!/usr/bin/perlopen FILE,'a.xml' ; #打开文件
my $input;
my @output ; #这是perl里面的数组
$input=<STDIN>; #这里是用来输入你的数组最后一个参数的
chomp $input;
my $pattern="\<$input\\s*name=(\.*?)>" ; #这是我用到的正则
while(<FILE>)
{
if($_=~s/$pattern/$1/) #这边你可以用java的正则来代替
{
push @output,$1; #把结果添加到数组中去
}
}
foreach $a(@output)
{
print $a."\n";
}
我很不老实地写了个Perl版本的
楼主可以勉强看下,等下写个java版本的,太久没写java了,有些生疏
http://www.phome.asia/article/1194.html