接口调用后返回一个String,System.out.println后显示以下内容:<?xml version='1.0' encoding='UTF-8'?>
<mailList>
<mail num="1">
<sender>[email protected] </sender>
<subject>test</subject>
<date>2009-12-16 13:14 </date>
<mailhref>http://211.111.111.111/cgi-bin/get_message2.cgi?sk=pnIc0BZw&fd=inbox&lang=gbtf=shoujj/index2.htmid=1260940456.12033.3.zgd_linux.localdomain&sort=0</mailhref>
</mail> 如何在这么长的字符串中得到<subject>里面的内容test?,最好给出源码,谢谢!
<mailList>
<mail num="1">
<sender>[email protected] </sender>
<subject>test</subject>
<date>2009-12-16 13:14 </date>
<mailhref>http://211.111.111.111/cgi-bin/get_message2.cgi?sk=pnIc0BZw&fd=inbox&lang=gbtf=shoujj/index2.htmid=1260940456.12033.3.zgd_linux.localdomain&sort=0</mailhref>
</mail> 如何在这么长的字符串中得到<subject>里面的内容test?,最好给出源码,谢谢!
解决方案 »
- 线程中wait和notify的一个小例子
- 一个JPANEL如何分为2部分?
- JAVA里面 关于布尔值的转换问题
- 第三届ITAT考试题 小弟从小语文就笨得很 题意有些不明白 希望大家帮帮忙啊!!!!???
- 关于线程的锁的一个问题
- 一个空指针访问问题(急)
- 哪里有Java图形学方面的书籍可以下载?(带址有分!)
- 求助!!!如何用Swing组件来实现这样一个命令行模式中的功能啊?(有代码)
- 学习 Thanking in java 中的问题!请高手进来帮帮我!!!先谢谢了~
- 小问题:Access--->SQL Server移植后,java程序不正常工作?
- 求ToolPane用法!!
- 请教java使用编码问题
String key1="<subject>";
String key2="</subject>";int start=str.indexOf(key1);//找到key1所在位置if(start!=-1){
int end=str.indexOf(key2);//找到key2所在位置
if(end!=-1){
return str.subString(key1+key1.length(),key2);
}
}
return null;
}
直接敲的代码,没测过。
可以通过xml解析组建来对各节点进行需要的操作
包括查找到指定节点和节点的内容
public static void main(String args[]){
String str = "</sender><subject>test</subject><<subject>testtest</subject>date>";
Pattern p = Pattern.compile("<subject>(.+?)</subject>");
Matcher m = p.matcher(str);
while(m.find()){
System.out.println(m.group(1));
}
}
3楼是用正则表达式对指定的字符序列进行匹配
2种方法都可以用 就当学习了public static String getValue(String str){
String key1="<subject>";
String key2="</subject>";
int start=str.indexOf(key1);//找到key1所在位置 if(start!=-1){
int end=str.indexOf(key2);//找到key2所在位置
if(end!=-1){
return str.substring(start+key1.length(),end);//这句敲错
}
}
return null;
}
import java.io.IOException;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class XPathExample { public static void main(String[] args)
throws ParserConfigurationException, SAXException,
IOException, XPathExpressionException { DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(true); // never forget this!
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document doc = builder.parse("data.xml"); XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expr
= xpath.compile("//mail/subject/text()"); Object result = expr.evaluate(doc, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;
for (int i = 0; i < nodes.getLength(); i++) {
System.out.println(nodes.item(i).getNodeValue());
} }}