这个起始很简单 楼主发了很多类似帖子求代码 为什么不花时间学习下呢???首先我们读取文件 这个你知道吧
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build("d:\\d.xml");然后我们就找到你需要的节点SourceLocation 
XPath xpath = XPath.newInstance("//SourceLocation");
Element SourceLocation  = (Element) xpath.selectSingleNode(doc);
如果是多个的花就用List SourceLocations = xpath.selectNodes(doc);得到节点后我们去取snippet的值 
SourceLocation.getAttributeValue("snippet")取到值我们再去找Snippet节点 我的理解这个是多个的 所以用List
XPath xpath2 = XPath.newInstance("//Snippet");
List Snippets = xpath2.selectNodes(doc);
得到后我们循环遍历所以的Snippet节点  如果id属性相同就取他的子节点text的值
for (int i = 0; i < Snippets.size(); i++) {
Element Snippet = (Element) Snippets.get(i);

if (Snippet.getAttributeValue("id").equals(snippet))
System.out.println(Snippet.getChildText("Text"));

}总的代码如下 
package cn.ujjboy.answer.csdn;import java.io.IOException;
import java.util.List;import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.Namespace;
import org.jdom.input.SAXBuilder;
import org.jdom.xpath.XPath;public class ReadXML5 { public static void main(String[] args) throws JDOMException, IOException {
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build("d:\\a.xml");

XPath xpath = XPath.newInstance("//SourceLocation");
Element SourceLocation  = (Element) xpath.selectSingleNode(doc);
String snippet = SourceLocation.getAttributeValue("snippet");//取得snippet的值
System.out.println(snippet);

XPath xpath2 = XPath.newInstance("//Snippet");
List Snippets = xpath2.selectNodes(doc);
for (int i = 0; i < Snippets.size(); i++) {
Element Snippet = (Element) Snippets.get(i);
if (Snippet.getAttributeValue("id").equals(snippet))//比较id和snippet的值
System.out.println(Snippet.getChildText("Text"));
}
}
}