.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
合并多个XML文件的简单方法 —— 外部实体引用

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

    下面的例子通过外部实体引用,将文件order1.xml与文件order2.xml合并为一个文件directory.xml

清单1. 要合并的xml文档order1.xml:

<?xml version="1.0" encoding="GB2312"?>

<order>
  <item>
    <itemNumber>ksu-0384</itemNumber>
    <description>LCD液晶显示器</description>
    <quantity>1</quantity>
    <price>358.00</price>
  </item>
    <item>
    <itemNumber>ksu-0511</itemNumber>
    <description>音箱</description>
    <quantity>1</quantity>
    <price>16.50</price>
  </item>
    <item>
    <itemNumber>ksu-7710</itemNumber>
    <description>鼠标</description>
    <quantity>1</quantity>
    <price>8.50</price>
  </item>
</order>

清单2. 要合并的xml文档order2.xml:

<?xml version="1.0" encoding="GB2312"?>

<order>
  <item>
    <itemNumber>ksu-0652</itemNumber>
    <description>双飞燕键盘</description>
    <quantity>1</quantity>
    <price>35.00</price>
  </item>
    <item>
    <itemNumber>ksu-7720</itemNumber>
    <description>intel CPU</description>
    <quantity>1</quantity>
    <price>1650.00</price>
  </item>
    <item>
    <itemNumber>ksu-7010</itemNumber>
    <description>迈拓硬盘</description>
    <quantity>1</quantity>
    <price>850.00</price>
  </item>
</order>

清单3. 输出文档directory.xml,黑体字部分为实体声明及其引用:

<?xml version="1.0"?>
<!DOCTYPE directory [
   <!ENTITY disclaimer1 SYSTEM "./order1.xml">
   <!ENTITY disclaimer2 SYSTEM "./order2.xml">
]>
<directory>
   &disclaimer1;
   &disclaimer2;

</directory>

当符合 XML 1.0 的处理器读取文档时,就会扩展实体,用它的内容代替引用,因此完整的文档如下所示。

清单4. 带有扩展实体的文档显示(IE6中):

  <?xml version="1.0" ?>
  <!DOCTYPE directory (View Source for full doctype...)>
- <directory>
 - <order>
  - <item>
     <itemNumber>ksu-0384</itemNumber>
     <description>LCD液晶显示器</description>
     <quantity>1</quantity>
     <price>358.00</price>
    </item>
  - <item>
     <itemNumber>ksu-0511</itemNumber>
     <description>音箱</description>
     <quantity>1</quantity>
     <price>16.50</price>
    </item>
  - <item>
     <itemNumber>ksu-7710</itemNumber>
     <description>鼠标</description>
     <quantity>1</quantity>
     <price>8.50</price>
    </item>
   </order>
 - <order>
   - <item>
     <itemNumber>ksu-0652</itemNumber>
     <description>双飞燕键盘</description>
     <quantity>1</quantity>
     <price>35.00</price>
    </item>
  - <item>
     <itemNumber>ksu-7720</itemNumber>
     <description>intel CPU</description>
     <quantity>1</quantity>
     <price>1650.00</price>
    </item>
  - <item>
     <itemNumber>ksu-7010</itemNumber>
     <description>迈拓硬盘</description>
     <quantity>1</quantity>
     <price>850.00</price>
    </item>
   </order>
  </directory>




相关文章

相关软件