但在XML中你可以用XPATH语法定位节点来达到快速修改和查询数据的目的
下面是个查询的例子:
利用xpath查询商品名为moto的商品信息。
aa.xml--这是XML中的数据
<?xml version="1.0" encoding="UTF-8"?>
<gouwu>
<shangping>
<name>moto</name>
<price>1000</price>
</shangping>
<shangping>
<name>nokia</name>
<price>1200</price>
</shangping>
</gouwu>
这个是在jsp页面中的代码
String filename=application.getRealPath("/")+"aa.xml"
SAXBuilder builder = new SAXBuilder()
Document doc = builder.build(new File(filename))
// Print servlet information
XPath servletPath = XPath.newInstance("//name[text()='moto']")
List all = servletPath.selectNodes(doc)
Iterator i = all.iterator()
while (i.hasNext()) {
Element s = (Element) i.next()
out.println(s.getName()+":"+s.getText()+"<br>")
//out.println(s.getChild("name").getText()+":"+s.getChild("price").getText()+"<br>")
}
至于向XML中写入数据 其实很简单就是先创建你要写入的数据
同过List集合你的add()方法就先将你创建的数据保存到list中
然后通过利用FileOutputStream和XMLOutputter完成xml文件的保存。
使用方法:
xml字节流输出类对象.output(Document对象, new FileOutputStream(“文件的路径”))
你可以自己做下
得到你要修改的节点element后,Attribute attribute=element.attribute("属性")
用attribute.setValue("")就行了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)