合并多个XML文件的简单方法 —— 外部实体引用

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

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

 1<order>
 2<item>
 3<itemnumber>ksu-0384</itemnumber>
 4<description>LCD液晶显示器</description>
 5<quantity>1</quantity>
 6<price>358.00</price>
 7</item>
 8<item>
 9<itemnumber>ksu-0511</itemnumber>
10<description>音箱</description>
11<quantity>1</quantity>
12<price>16.50</price>
13</item>
14<item>
15<itemnumber>ksu-7710</itemnumber>
16<description>鼠标</description>
17<quantity>1</quantity>
18<price>8.50</price>
19</item>
20</order>

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

 1<order>
 2<item>
 3<itemnumber>ksu-0652</itemnumber>
 4<description>双飞燕键盘</description>
 5<quantity>1</quantity>
 6<price>35.00</price>
 7</item>
 8<item>
 9<itemnumber>ksu-7720</itemnumber>
10<description>intel CPU</description>
11<quantity>1</quantity>
12<price>1650.00</price>
13</item>
14<item>
15<itemnumber>ksu-7010</itemnumber>
16<description>迈拓硬盘</description>
17<quantity>1</quantity>
18<price>850.00</price>
19</item>
20</order>

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

** ]>

1<directory>   
2** &amp;disclaimer1   
3&amp;disclaimer2 **   
4</directory>

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

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

-

 1<directory>   
 2\- <order>   
 3\- <item>
 4<itemnumber>ksu-0384</itemnumber>
 5<description>LCD液晶显示器</description>
 6<quantity>1</quantity>
 7<price>358.00</price>
 8</item>   
 9\- <item>
10<itemnumber>ksu-0511</itemnumber>
11<description>音箱</description>
12<quantity>1</quantity>
13<price>16.50</price>
14</item>   
15\- <item>
16<itemnumber>ksu-7710</itemnumber>
17<description>鼠标</description>
18<quantity>1</quantity>
19<price>8.50</price>
20</item>
21</order>   
22\- <order>   
23\- <item>
24<itemnumber>ksu-0652</itemnumber>
25<description>双飞燕键盘</description>
26<quantity>1</quantity>
27<price>35.00</price>
28</item>   
29\- <item>
30<itemnumber>ksu-7720</itemnumber>
31<description>intel CPU</description>
32<quantity>1</quantity>
33<price>1650.00</price>
34</item>   
35\- <item>
36<itemnumber>ksu-7010</itemnumber>
37<description>迈拓硬盘</description>
38<quantity>1</quantity>
39<price>850.00</price>
40</item>
41</order>
42</directory>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus