当前位置:首页 » 存储配置 » xml存储数据

xml存储数据

发布时间: 2022-01-13 12:33:36

A. 请问网络游戏存储数据(例如所有装备),用txt好还是XML为什么

怎样用java从xml里读取数据 并且保存为txt格式: 有XML文件内容: <?xml version="1.0" encoding="UTF-8"?> <...

为什么有必要把xml数据保存到数据库中?: 个人觉得A B. 用别的方法也可以保证安全性,为什么要数据库? C. 这个答案是搞笑得

怎样用java从xml里读取数据 并且保存为txt格式: 怎样用java从xml里读取数据 并且保存为txt格式 ...属性值,子节点等所有信息,从而或者节点...

如何使用xml 存储数据: 创建一个接口 XmlInterface.java ? public interface XmlInt...

java可以用xml存储数据吗?: 可以到是可以 但是如果存储的是正儿八经的数据的话 建议你用ACCESS XML用来做配置文件倒是蛮合...

java可以用xml存储数据吗?: 可以不过要熟悉xml解析的过程,其实存数据用List<Map>

解释为什么xml对数据存储是非常有用的?: 1、XML :使用简单的标记描述数据。 2、XML:主要就是针对数据存储的。不象ACCESS、sql...

怎样用JAVASCRIPT+XML存储数据: 在网上找的免费的空间.但是不能支持数据库,而且...等等,就是不用javascript也可以实现用x...

少量数据存在XML中还是数据库中好?: 少量数据存在XML中和数据库中都不快,假设你的“少量数据”是不常变动的,则速度上最快的是:客户端请求...

关系数据库中如何存储xml数据?: 现在很多数据库都开始支持xml字段,并且支持xml数据...做社交网站,日志这种信息存xml还是关系...

B. XML适合代替数据库存储大量数据吗

不适合.
XML适合记录配置文件或者其他的需要移植和共享的数据.
优势在于使用标准的格式,不同的程序和系统都能看懂.也方便人阅读.
存储大量数据时没有简单有效的检索机制,无论查询还是修改都不便于操作.
用作记录时适合体积小,可阅读,可移植的数据.

C. 数据库中保存的xml与xml文件

在数据库中保存:
sqlserver可以在sql语句中,对字段中的xml进行xpath检索。
如:select * from xxx where xpath(xxx.xmlfield, "/book/title") = "abc";

函数名我记不清了,大意就是这样了。

可以统一备份方案。
方便查找。
大量记录时,性能很高。

大小有限制,4G

xml文件:
优点:与数据库比想不出什么优点。

编程时要读数据库,知道文件名,再去打开文件IO,解读。还要记得关掉。
大量的文件,性能很差。一个目录里有几万个文件,基本就完蛋了。非常慢。

备份时要另外设计文件备份方案。

大体上就这些。

D. 关系数据库中如何存储xml数据

XML文档的一个普通存在的问题是如何持久保存(Persist) XML文档。在一个关系数据库中存储XML文档是一个非常常用的方法,因为当前关系数据库的使用非常广泛。
将XML文档插入到数据库中不是简单的方法,这其中需要很多其它额外的考虑。现在我提供了一些技巧,你可以使用这些技巧在关系数据库中存储XML文档。
1、文档表:
一个最简单和容易的方法是,在一个具有单一文本域的数据库中建立一个表,由此你可以在表中存储XML数据。由于这些特定数据库和特定XML文档,这一文本域可以是一个二进制大型对象(BLOB,binary large object)。有些数据库需要存储的是大量的BLOB数据而不是文本。
这一方法的优点是,将数据存入表中变得相当简单,而且重新获得也同样很容易。这种文档表的管理也很方便。
这种方法的缺点在于你将可能无法进行一些有用的文本搜索,并且在放置特定文档时也会碰到困难,因为没有任何方法来识别表中的文档;
2、主键表:
下一个比较复杂的方法是使用一个主键表(keyed table)。这种方法与文档表非常相似,但此时你的表中包含两个域:一个唯一的主键和XML文档。使用这种方法,你既可以具有存储和获得整个XML文档的简洁性,也可以使用一些管理这些唯一主键的复杂操作;
建立主键的一种通用方法是使用XML文档中的MD5求和检验。请记住如果你想在表中包括多份XML文档,这一方法远不足够。在这种情况下,你可以添加额外的key fields标识键列。
与文档表一样,主键表很容易执行,它可以在表中查找特定的文档。然而,与文档表一样,你仍然不能执行任何文本查询;
3、有限离散表:
这一方法更加复杂,但它给你带来更多的灵活性。使用有限离散表,你可以建立用于存储有限分散的XML信息的表,这是什么意思?请看以下的例子:
假设你具有一个顺序文档。在文档的根部(Root)有一个Order元素,这一元素包括CustomerInfo, ItemInfo, 以及hippingInfo元素。在数据库中,你可以建立一个OrderDoc表,表中包含一个ID域,一个CustomerInfoId域,一个ItemInfoId域,一个ShippingInfoId域。然而,你还可以建立一个CustomerInfoId表,一个ItemInfoId表,一个ShippingInfoId表。这些表都包含很多信息相关的各自的ID域,这些信息包括用户,选项,邮寄信息。在这一表中,还包含着其它额外的等级。比如,CustomerInfo表包含AddressInfo域,即从AddressInfo表中引用的入口。
这种方法的优点是,允许你更紧密地建立XML数据的模型。这种方法使得你进行数据的一些成熟的查询。它也使得数据的使用性更强,因为你不再需要XML分析器来读取数据。
不足之处是这种方法需要更多的精力来开发和维护。这意味着每一文档都需要解析成分离的部分,然后存储在数据库中。如果这一过程没有得以很好管理,有可能会丢失一些数据。而且,这也意味着,当从一个数据库中获得一个XML文档时,你不得不连接这些分散的部分。

E. 你的项目中什么地方用到了XML存储数据,不要泛指

web程序的话主要是广告轮换和站点地图这两个地方用到了XML操作,其实就是简单的操作节点。有时候我看有人在信息列表里面也用到了,我是不习惯那样做。做桌面程序的时候以前做网络版扫雷的时候把雷区也做成XML存储了,主要是想着数据库太浪费内存,调用算法有时候上百万颗雷的是候也会刷屏卡,所以用到了。其实类似数据库,只不过容量没那么大,看你怎么用了

F. 使用xml存储数据时,xml数据大小在大于多少时,增删改查速度会慢于数据库

这个没有试过,不过如果数据量大于10000条尽量选择数据库吧!以前在使用消息队列时数据量大了用XML传递时出现过错误,都改成用SQL存储过程调用了!

G. 如何使用xml 存储数据

创建一个接口

XmlInterface.java

?
public interface XmlInterface {

/**
* 建立XML文档
* @param fileName 文件全路径名称
*/
public void createXml(String fileName);
/**
* 解析XML文档
* @param fileName 文件全路径名称
*/
public void parserXml(String fileName);
}

接口实现

XmlImpl.java

?
package com.test.xml;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class XmlImpl implements XmlInterface{
private Document document;

public void init() {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
this.document = builder.newDocument();
} catch (ParserConfigurationException e) {
System.out.println(e.getMessage());
}
}

public void createXml(String fileName) {
Element root = this.document.createElement("scores");
this.document.appendChild(root);
Element employee = this.document.createElement("employee");
Element name = this.document.createElement("name");
name.appendChild(this.document.createTextNode("wangchenyang"));
employee.appendChild(name);
Element sex = this.document.createElement("sex");
sex.appendChild(this.document.createTextNode("m"));
employee.appendChild(sex);
Element age = this.document.createElement("age");
age.appendChild(this.document.createTextNode("26"));
employee.appendChild(age);
root.appendChild(employee);
TransformerFactory tf = TransformerFactory.newInstance();
try {
Transformer transformer = tf.newTransformer();
DOMSource source = new DOMSource(document);
transformer.setOutputProperty(OutputKeys.ENCODING, "gb2312");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
PrintWriter pw = new PrintWriter(new FileOutputStream(fileName));
StreamResult result = new StreamResult(pw);
transformer.transform(source, result);
System.out.println("生成XML文件成功!");
} catch ( e) {
System.out.println(e.getMessage());
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
} catch (TransformerException e) {
System.out.println(e.getMessage());
}
}

public void parserXml(String fileName) {
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(fileName);

NodeList employees = document.getChildNodes();
for (int i = 0; i < employees.getLength(); i++) {
Node employee = employees.item(i);
NodeList employeeInfo = employee.getChildNodes();
for (int j = 0; j < employeeInfo.getLength(); j++) {
Node node = employeeInfo.item(j);
NodeList employeeMeta = node.getChildNodes();
for (int k = 0; k < employeeMeta.getLength(); k++) {
System.out.println(employeeMeta.item(k).getNodeName()
+ ":" + employeeMeta.item(k).getTextContent());
}
}
}
System.out.println("解析完毕");
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
} catch (ParserConfigurationException e) {
System.out.println(e.getMessage());
} catch (SAXException e) {
System.out.println(e.getMessage());
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}

测试

?
public class Main {

public static void main(String args[]){
XmlImpl dd=new XmlImpl();
String str="D:/grade.xml";
dd.init();
dd.createXml(str); //创建xml
dd.parserXml(str); //读取xml
}
}

结果

生成xml

<?xml version="1.0" encoding="GB2312"?><scores><employee><name>wangchenyang</name><sex>m</sex><age>26</age></employee></scores>复制代码

H. 将数据存入数据库好,还是存入xml文件好,还是各有优缺点请各位指点。

各有优缺点,小量的数据可以用xml代替数据库,因为xml加载是加载在内存中,读写速度比数据库快得多,数据量较大那样就用数据库了,不然内存耗费太多。

I. 通过XML和数据库存储的区别

这是风牛马不相及的两个概念,他们的结构,应用范围是完全不同的,目前的数据库基本上都是关系型数据库,以sql与oracle为代表,都是非常大型的,可以进行数据的海量存储;而xml主要解决的是数据在网上传输标准的问题,把原来各种各样的数据孤岛可以通过xml这座桥梁连接起来,所以打个比方,数据库就好比是盛数据的桶,而xml则是数据传输转换的桥梁,所以数据库是数据库,xml是xml,二者是截然不同的,当然二者也存在非常紧密的联系,毕竟都是处理数据的工具,就是很多其他的数据格式可以通过xml输入到数据库中,数据库中的关系型数据也可以通过xml转化成其他的数据格式

J. java可以用xml存储数据吗

可以到是可以
但是如果存储的是正儿八经的数据的话
建议你用ACCESS
XML用来做配置文件倒是蛮合适的

热点内容
黄鳝门视频种子ftp 发布:2024-11-15 02:43:50 浏览:35
数据库签单 发布:2024-11-15 02:43:05 浏览:367
openfalcon源码 发布:2024-11-15 02:32:45 浏览:17
长江存储总监 发布:2024-11-15 02:28:29 浏览:115
数据库添加一列 发布:2024-11-15 02:24:09 浏览:978
android视频读取 发布:2024-11-15 02:19:43 浏览:257
hyperv安装linux 发布:2024-11-15 02:05:37 浏览:302
小蚂蚁电动汽车哪个配置好 发布:2024-11-15 01:53:18 浏览:24
c语言联合体 发布:2024-11-15 01:52:36 浏览:109
云服务器下载软件提示 发布:2024-11-15 01:51:55 浏览:756