请问这个用xpath如何提取? <a><b>不好</b>你好</a>目的:“你好”“你好”,“不好”都是变化的,不能用replace替换掉。现在//a/text()会把“你好”跟“不好”都提取出来了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //a/text()[1],听说是这样子,但是测试没通过 你说的是这样?//package com.ricky.www;/* <a><b>不好</b>你好</a>*/import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test{ public static void main(String[] args){ String content = "<a><b>不好</b>你好</a>"; String regex = "<b>([^<]*)</b>"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(content); if(matcher.find()){ System.out.println(matcher.group(1)); } }} import java.io.IOException;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.Text;import org.dom4j.io.SAXReader; public class ff { public static void main(String[] args){ String xmlName ="e://4455.xml"; // 定义需要返回的第一级菜单的名字集合 List firstNames = new ArrayList(); // Attribute的属性集合 List attrs = new ArrayList(); // 声明SAXReader SAXReader saxReader = new SAXReader(); try { Document doc = saxReader.read(xmlName); // 获得所有grade=1的Element的text的值 String xpath = "/a"; List list = doc.selectNodes(xpath); if(list.isEmpty()) { System.out.print("111"); } else { System.out.print("222"); } Iterator it = list.iterator(); while (it.hasNext()) { Element elt = (Element) it.next(); System.out.print(elt.getText()); } } catch (DocumentException e) { e.printStackTrace(); } }}XML<?xml version="1.0" encoding="UTF-8"?><a><b>不好</b>你好</a> try { String xml = "<a><b>不好</b>你好</a>"; XPathFactory factory = XPathFactory.newInstance(); XPath xpath = factory.newXPath(); String result = xpath.evaluate("/a/text()", new InputSource(new StringReader(xml))); System.out.println(result); } catch (XPathExpressionException e) { e.printStackTrace(); }输出:你好java 6u21 myeclipse导入项目各种报错 请教大侠,一段代码有时能运行有时不能 GC为什么不能保证回收 请问客户端写入对象成功服务器却收不到是什么原因? 输出图表问题 一个Swing的小问题,急! 新年到,新年好,在j2se里第一次散分,望多多捧场! 如何用executeUpdate插入数据的值 用JBuilder还用不用设置Java的开发环境? arrays Quartz求助 关于TCP/UDP混合使用的问题
<a><b>不好</b>你好</a>
*/
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Test{
public static void main(String[] args){
String content = "<a><b>不好</b>你好</a>";
String regex = "<b>([^<]*)</b>";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(content); if(matcher.find()){
System.out.println(matcher.group(1));
}
}
}
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Text;
import org.dom4j.io.SAXReader;
public class ff {
public static void main(String[] args){
String xmlName ="e://4455.xml";
// 定义需要返回的第一级菜单的名字集合
List firstNames = new ArrayList();
// Attribute的属性集合
List attrs = new ArrayList();
// 声明SAXReader
SAXReader saxReader = new SAXReader();
try {
Document doc = saxReader.read(xmlName);
// 获得所有grade=1的Element的text的值
String xpath = "/a";
List list = doc.selectNodes(xpath);
if(list.isEmpty())
{
System.out.print("111");
}
else
{
System.out.print("222");
}
Iterator it = list.iterator();
while (it.hasNext()) {
Element elt = (Element) it.next();
System.out.print(elt.getText());
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
XML
<?xml version="1.0" encoding="UTF-8"?>
<a>
<b>不好</b>
你好
</a>
String xml = "<a><b>不好</b>你好</a>"; XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath(); String result = xpath.evaluate("/a/text()", new InputSource(new StringReader(xml)));
System.out.println(result);
} catch (XPathExpressionException e) {
e.printStackTrace();
}
输出:
你好
java 6u21