这是风牛马不相及的两个概念,他们的结构,应用范围是完全不同的,目前的数据库基本上都是关系型数据库,以sql与oracle为代表,都是非常大型的,可以进行数据的海量存储;而xml主要解决的是数据在网上传输标准的问题,把原来各种各样的数据孤岛可以通过xml这座桥梁连接起来,所以打个比方,数据库就好比是盛数据的桶,而xml则是数据传输转换的桥梁,所以数据库是数据库,xml是xml,二者是截然不同的,当然二者也存在非常紧密的联系,毕竟都是处理数据的工具,就是很多其他的数据格式可以通过xml输入到数据库中,数据库中的关系型数据也可以通过xml转化成其他的数据格式
所以,不要因为他们都与数据有关,就把他们混为一谈
当然可以拉,但是前提是你XML和TEXT里面要有数据,而且你要知道怎么去读写数据才可以啊,如果有软件的话你完全可以使用数据库来解决存储数据的问题啊,如果没有数据库软件或者数据不大,那用xml可以了!
你要写好一个方法,Insert(List<T> list);
下面就可以读取数据,然后直接调用Insert()
using SystemXmlLinq;
//加载xml文件
XElement element = XElementLoad(@"d:\txtxml");
List<T> list = elementDescendants("节点名称")ToList();
Insert(list);
其实XML和文本文件是差不多的 你要对里面的数据修改就像你说的通过生成新的xml,然后覆盖旧xml的来达到修改的
但在XML中你可以用XPATH语法定位节点来达到快速修改和查询数据的目的
下面是个查询的例子:
利用xpath查询商品名为moto的商品信息。
aaxml--这是XML中的数据
<xml version="10" encoding="UTF-8">
<gouwu>
<shangping>
<name>moto</name>
<price>1000</price>
</shangping>
<shangping>
<name>nokia</name>
<price>1200</price>
</shangping>
</gouwu>
这个是在jsp页面中的代码
String filename=applicationgetRealPath("/")+"aaxml";
SAXBuilder builder = new SAXBuilder();
Document doc = builderbuild(new File(filename));
// Print servlet information
XPath servletPath = XPathnewInstance("//name[text()='moto']");
List all = servletPathselectNodes(doc);
Iterator i = alliterator();
while (ihasNext()) {
Element s = (Element) inext();
outprintln(sgetName()+":"+sgetText()+"<br>");
//outprintln(sgetChild("name")getText()+":"+sgetChild("price")getText()+"<br>");
}
至于向XML中写入数据 其实很简单就是先创建你要写入的数据
同过List集合你的add()方法就先将你创建的数据保存到list中
然后通过利用FileOutputStream和XMLOutputter完成xml文件的保存。
使用方法:
xml字节流输出类对象output(Document对象, new FileOutputStream(“文件的路径”))
你可以自己做下
XML可以用做纯粹的数据库,现在ORACLE、SQL SERVER、DB2等都自称NATIVE XML,其实是一种关系和XML的混合数据库系统。
后者只要FLASH软件能接受和读取适当形式的XML数据就可以吧,如果不行能否调用JAVA,JAVA中有处理XML的库。
以上就是关于XML和数据库的区别全部的内容,包括:XML和数据库的区别、XML,TXT 可以做为数据库吗、c# XML作为数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)