`
isiqi
  • 浏览: 16032850 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

XML(DTD)引用外部实体(将单个XML文件分为多个XML文件)

XML 
阅读更多

1 XML定义

在本例中应用外部实体主要因为XML文件太大,不容易维护,想按照硬件类型建立几个文件夹,

把整个XML文件物理分割为多个XML文件,但是在解析中仍然解析为一棵树。

<?xml version="1.0" encoding="UTF-8" standalone = "no" ?>

<!DOCTYPE HardwareDef SYSTEM "HardwareDef.dtd" [

<!ENTITY XMLEntity1 SYSTEM "./HardwareDefCommon.xml">

<!ENTITY XMLEntity2 SYSTEM "./Hardware/AA.xml">
<!ENTITY XMLEntity2 SYSTEM "./Hardware/BB.xml">


]>

<HardwareDef >

&XMLEntity1;
&XMLEntity2;
&XMLEntity3;

</HardwareDef >

2 以上解析本人在MSXML中完成。

解析的关键:

获取&XMLEntity1 的节点,通过pFirstEntityNodePtr->get_firstChild(&pNodePtr2)

进而获得在实体对应的文件中的子设备,

待解析完后, 再获取&XMLEntity2的解析,依次类推;

TESTHR(xmlRoot->get_firstChild(&pFirstEntityNodePtr));//xmlRoot为<HardwareDef >节点
pFirstEntityNodePtr->get_nodeName(&NodeName);
TSTRING strNodeName(_com_util::ConvertBSTRToString(NodeName));
if(TSTRING::npos != strNodeName.find("XMLEntity"))
{
TESTHR(pFirstEntityNodePtr->get_firstChild(&pNodePtr2));
}

分享到:
评论

相关推荐

    XML学习指南pdf

    第2章 创建并显示第一个XML文档 2.1 创建一个XML文档 2.1.1 创建XML文档 2.1.2 XML文档剖析 2.1.3 一些基本的XML规则 2.2 显示XML文档 2.2.1 显示没有样式表的XML文档 2.2.2 在Internet Explorer 5中获取XML ...

    XML学习指南

    9.7.1 怎样使用有效性测试页面 9.7.2 有效性测试页面是怎样工作的 第10章 使用XSL样式表显示XML文档 10.1 使用XSL样式表的基本步骤 10.2 使用单个XSL模板 10.3 使用多个模板 10.4 过滤并排序XML数据 10.4.1 过滤 ...

    程序设计:xml学习指南中文版

    DTD子集 5.5.3 有条件地忽略外部DTD子集 的一部分 5.6 把格式正确的文档转换为有效文档 第6章 定义和使用实体 6.1 实体定义和分类 6.2 声明通用实体 6.2.1 声明内部通用可分析型实体 ...

    Matra - an XML DTD Parser-开源

    Matra是一个基于Java的XML DTD Parser Utility。 它允许您解析dtd,为dtd生成dtdtree并将dtd及其包含的模块合并到单个dtd中。 http://matra.sourceforge.net

    dtd-parser:极光 DTD 解析器。 简单的符合 PHP 标准的 DTD 解析器,用于提取实体和元素声明

    Soothsilver PHP DTD 解析器这是一个包含单个 PHP 文件的 DTD 解析器,旨在符合完整的 XML 规范。 PHP 读取XML 文件的传统方法是使用基于libxml2 的内置函数。 但是,这些不允许您读取和解析文档类型定义 (DTD) 文件...

    ant1.9资源

    若要在外部引入某文件,例如build.properties文件,可以通过如下内容将其引入:” build.properties”/&gt; property元素可用作task的属性值。在task中是通过将属性名放在“${”和“}”之间,并放在task属性值的位置来...

    springmybatis

    同时建立这个User 的映射文件 User.xml: 程序代码 程序代码 &lt;?xml version="1.0" encoding="UTF-8" ?&gt; &lt;!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...

    XML-Schema-learner:XML 模式定义和文档类型定义的算法推理

    给定一组或单个 XML 实例,它可以通过算法推断描述 XML 实例的模式。 生成的模式具有高质量和人类可读性。 用法 了解工具类型的使用: $ ./schema-learn --help 要运行单元测试类型: $ phpunit tests/suite.php ...

    Nexpose中文API帮助

    XMLResponse DTD 111 Failure DTD 112 使用扩展1.2 版本API 部分113 使用导航标题113 以模式进行验证113 构成1.2 版本扩展API 的单个API 列表114 会话管理118 Login 118 Logout 118 资产发现连接管理120 ...

    Webtek-Prosjekt

    DTD 可以在我们的 xml-data 文件的顶部找到。 Javascript Javascript 用于客户端。 它用于地图,在那里控制界面并与谷歌 API 通信。 我们还使用 Javascript 从 XML 读取数据并将其插入到 HTML 文档中。 Javascript...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     3.4.1 映射文件的文档类型定义(DTD)  3.4.2 把Customer持久化类映射到CUSTOMERS表  3.5 通过Hibernate API操纵数据库  3.5.1 Hibernate的初始化  3.5.2 访问Hibernate的Session接口  3.6 运行helloapp应用 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     3.4.1 映射文件的文档类型定义(DTD)  3.4.2 把Customer持久化类映射到CUSTOMERS表  3.5 通过Hibernate API操纵数据库  3.5.1 Hibernate的初始化  3.5.2 访问Hibernate的Session接口  3.6 运行helloapp应用 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     3.4.1 映射文件的文档类型定义(DTD)  3.4.2 把Customer持久化类映射到CUSTOMERS表  3.5 通过Hibernate API操纵数据库  3.5.1 Hibernate的初始化  3.5.2 访问Hibernate的Session接口  3.6 运行helloapp应用 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     3.4.1 映射文件的文档类型定义(DTD)  3.4.2 把Customer持久化类映射到CUSTOMERS表  3.5 通过Hibernate API操纵数据库  3.5.1 Hibernate的初始化  3.5.2 访问Hibernate的Session接口  3.6 运行helloapp应用 ...

    精通hibernate:对象持久化技术孙卫琴第二版part2

    3.4.1 映射文件的文档类型定义(DTD) 52 3.4.2 把Customer持久化类映射到CUSTOMERS表 54 3.5 通过Hibernate API操纵数据库 58 3.5.1 Hibernate的初始化 61 3.5.2 访问Hibernate的Session接口 63 3.6 运行...

    精通Hibernate:对象持久化技术第二版part3

    3.4.1 映射文件的文档类型定义(DTD) 52 3.4.2 把Customer持久化类映射到CUSTOMERS表 54 3.5 通过Hibernate API操纵数据库 58 3.5.1 Hibernate的初始化 61 3.5.2 访问Hibernate的Session接口 63 3.6 运行...

    jpivot学习总结.doc

    而一个 schema 文件就是编辑这个 schema 的一个 xml 文件。在这个文件中形成逻辑模型和数据库物理模型的对应。 3.2. Cube 一个 Cube 是一系列维度 (Dimension) 和度量 (Measure) 的集合区域。在 Cube 中, ...

    java面试800题

    Q0046 一个文件中是否可以有多个public类? 不可以 Q0047 子类是否可以访问父类的私有成员? 不可以 Q0048 NULL是否是Java的关键字? 不是。null,false,true是保留字 Q0049 一个有序数组和一个无序数组,从无序...

Global site tag (gtag.js) - Google Analytics