XPATH高手请进,一个简单的问题如果不取子节点,难倒我了

sunjunfeng3 2008-10-28 02:48:42
有会XPATH的么 如何只取本节点不取子节点的内容如
<a>
this is a
<b>
this is b
</b>
</a>
我只想取出 this is a 不要this is b
...全文
114 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
veiny 2008-10-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Qiaorui 的回复:]
<xsl:value-of select="a/text()"/>
[/Quote]

正解,被你抢先了
Qiaorui 2008-10-29
  • 打赏
  • 举报
回复
<xsl:value-of select="a/text()"/>
yctang 2008-10-28
  • 打赏
  • 举报
回复
package cn.com.starit.app;

import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

public class ReadXML {
/*
* 第一个参数是xml,第二个参数是节点名称,第三个是路径
*/
public static void main(String args[]){
ReadXML readXML = new ReadXML();
String xml = "<?xml version=\"1.0\" encoding=\"GBK\"?>"
+"<a>this is a <b>this is b</b> </a>";
System.out.println(readXML.getParamValue(xml,"a","a"));
System.out.println(readXML.getParamValue(xml,"b","a/b"));
}

public String getParamValue(String xml, String param,String xmlPath)
{
Document doc = null;
try {
doc = DocumentHelper.parseText(xml);
} catch (DocumentException e) {
System.out.println(e);
return "";
}

String xpathNodes = "//" + xmlPath;
List<Element> listParam = doc.selectNodes(xpathNodes);
if (listParam == null)
return "";
for ( Iterator iter = listParam.iterator(); iter.hasNext(); ){
Element nodeParam = (Element)iter.next();
if (param.equals(nodeParam.getName())){
return nodeParam.getText();
}
}
return "";
}
}
sunjunfeng3 2008-10-28
  • 打赏
  • 举报
回复
看来CSDN真的是没落了,这么简单的问是,这么高的分竟然没有人,只需要有点经验就可以,这个问题就是买个经验,哎,CSDN 全是小P孩了

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧