当单个元素更新时,不必重新编写整个xml文件,有没有更好的更新文件的方法?
如果您的XML文件太大,更新它会成为性能瓶颈,您应该考虑从XML转移到更高效的磁盘格式(或真正的数据库)。
但是,如果您只是感觉可能会有问题,请记住优化规则:
在这里你有几个选择,但都不是很好。
由于XML对象没有被分成不同的部分,你要么必须使用一些文件系统级别的修改和正则表达式模式匹配(sed是一个不错的开始),要么就应该将你的XML分成更小的部分以便管理。
使用XQuery处理大型XML文件,适用于千兆字节级别的XML文件 http://www.xquery.com
XQuery是一种查询语言,被设计为本地XML查询语言。由于大多数类型的数据都可以表示为XML,因此XQuery也可以用于查询其他类型的数据。例如,XQuery可以使用关系数据库的XML视图来查询关系数据。这很重要,因为许多互联网应用程序需要集成来自多个来源的信息,包括在Web消息中找到的数据、关系数据和各种XML源。XQuery专门为这种数据集成而设计。
例如,假设您的公司是一家金融机构,需要为每个客户生成股票持有报告。客户通过Simple Object Access Protocol(SOAP)消息请求报告,该消息以XML表示。在大多数企业中,股票持有数据存储在多个关系数据库中,例如Oracle、Microsoft SQL Server或DB2。XQuery可以查询SOAP消息和关系数据库,创建XML报告。
XQuery基于XML的结构,并利用这种结构使得可以对任何可以表示为XML的数据进行查询,包括关系型数据。此外,XQuery API for Java(XQJ)允许您的查询在支持J2EE平台的任何环境中运行。