这个起始很简单 楼主发了很多类似帖子求代码 为什么不花时间学习下呢???首先我们读取文件 这个你知道吧
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"));
}
}
}
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"));
}
}
}
解决方案 »
- 桌面快捷图标
- spring 加载报错
- ANT的使用(现在用ant还多吗)
- spring2.5+strtus2+ibatis2.3下Action无法注入依赖:SqlMapExecutor找不到
- 关于Spring的一些总结
- struts2问题求救:No configuration found for the specified action
- struts2标签action问题
- 来者有分,探讨Struts在jsp页面输出的问题!
- EJB-QL语句的问题?
- 如何提高jbuilder的速度?
- struts <logic:iterate>遍历中 nested 属性显示不出来,请各位大大帮忙看看?
- 【求助】javamail 删除邮件
不知道啊
受益匪浅啊多谢了