为什么xml不能像其他数据库那样可以直接修改数据?

2025-05-17 13:23:06
推荐回答(2个)
回答(1):

其实XML和文本文件是差不多的 你要对里面的数据修改就像你说的通过生成新的xml,然后覆盖旧xml的来达到修改的
但在XML中你可以用XPATH语法定位节点来达到快速修改和查询数据的目的
下面是个查询的例子:
利用xpath查询商品名为moto的商品信息。
aa.xml--这是XML中的数据



moto
1000


nokia
1200



这个是在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()+"
");
//out.println(s.getChild("name").getText()+":"+s.getChild("price").getText()+"
");
}
至于向XML中写入数据 其实很简单就是先创建你要写入的数据
同过List集合你的add()方法就先将你创建的数据保存到list中
然后通过利用FileOutputStream和XMLOutputter完成xml文件的保存。
使用方法:
xml字节流输出类对象.output(Document对象, new FileOutputStream(“文件的路径”))
你可以自己做下

回答(2):

不是啊,可以用DOM来修改XML的