作者:sjxs198422 | 来源:互联网 | 2014-05-05 09:01
在XML对象模型中如何处理空缺字符?有些时候,XML对象模型将显示包含空缺字符的TEXT节点。空缺字符被截断后,多半会带来一些混乱。例如下面的XML例子:以下为引用的内容:
在 XML 对象模型中如何处理空缺字符?
有些时候,XML 对象模型将显示包含空缺字符的 TEXT 节点。空缺字符被截断后,多半会带来一些混乱。例如下面的 XML 例子:
以下为引用的内容: ]> Smith John
天生下列树:
以下为引用的内容: Processing Instruction: xml DocType: person ELEMENT: person TEXT: ELEMENT: lastname TEXT: ELEMENT: firstname TEXT:
名字和姓氏两边是只包含空缺字符的 TEXT 节点,由于“person”元素的内容模型是 MIXED;它包含 #PCDATA 要害字。MIXED 内容模型指定元素之间可以有文本存在。因此,下面的内容也是准确的:
My last name is Smith and my first name is John
成果是类似于下面的树:
以下为引用的内容: ELEMENT: person TEXT: My last name is ELEMENT: lastname TEXT: and my first name is ELEMENT: firstname TEXT:
假如没有单词“is”之后和 之前的空缺字符,以及 之后和单词“and”之前的空缺字符,那么句子便无法懂得。因此,对于 MIXED 内容模型来说,文字组合、空缺字符和元素都是相干的。对于非 MIXED 内容模型来说则不是这样。
要使只有空缺字符的 TEXT 节点消散,请从“person”元素声明中删除 #PCDATA 要害字:
成果是下面明白的树:
以下为引用的内容: Processing Instruction: xml DocType: person ELEMENT: person ELEMENT: lastname ELEMENT: firstname
XML 声明做什么?
XML 声明必需列在 XML 文档的顶部:
它指定下面的项目:
该文档是 XML 文档。在丧失或者还没有指定 MIME 类型时 MIME 探测器可以用它来检测文件是否为类型 text/xml。
文档符合 XML 1.0 规范。在以后 XML 有其他版本时这一点很重要。
文档字符编码。编码属性是可选的,默认为 UTF-8。
留心:XML 声明必需在 XML 文档的第一行,因此下面的 XML 文件:
产生下面的分析错误:
无效的 xml 声明。
行 0000002:
地位 0000007: ------^
留心:XML 声明是可选的。假如需要在顶部指定注释或者处理指令,那么请不要放进 XML 声明。但是,默认的编码将为 UTF-8。
如何以可读格局打印我的 XML 文档?
在用 DOM 从零开端结构文档以产生 XML 文件时,任何内容都在一行上,相互之间没有空格。这是默认的行动。
结构在 Internet Explorer 5 中的默认 XSL 样式表,以可读格局显示和打印 XML 文档。例如,假如已经安装了 IE5,请尝试查看nospace.xml 文件。浏览器中应当显示下面的树:
以下为引用的内容: - - XYZ 12.56
在 XML 中没有插进空缺字符。
打印可读 XML 是非常有趣的,特别是有定义不同类型内容模型的 DTD 时。例如,在混杂内容模型 (#PCDATA) 下不能插进空格,由于它可能转变内容的含义。比如请考虑下面的 XML:
Elephant
这最好不输出为:
E
lephant
由于单词边界不再准确。
所有这些都使主动化打印成为标题。假如不需要打印可读 XML,那么可以应用 DOM 在适当的地位插进空缺字符作为文本节点。
如何在 DTD 中应用名称空间? 要在 DTD 中应用名称空间,请在应用它的元素的 ATTLIST 声明中声明它,如下所示:
名称空间类型必需为 #FIXED。属性的名称空间也是这样:
名称空间和 XML 架构
DTD 和 XML 架构不能混杂。例如,下面的
xmlns:x CDATA #FIXED "x-schema:myschema.xml"
将不导致应用在 myschema.xml 中定义的架构定义。对 DTD 和 XML 架构的应用是互斥的。
如何在 Visual Basic 中应用 XMLDSO?
应用下面的 XML 作为例子:
以下为引用的内容: Mark Hanson 206 765 4583 Jane Smith 425 808 1111
可以按如下方法绑定到 ADO 记录集:
创立新的 VB 6.0 项目。
添加对 Microsoft ActiveX Data Objects 2.1 或更高版本、Microsoft Data Adapter Library 和 Microsoft XML 2.0 版的引用。
用下面的代码将 XML 数据加载到 XML DSO 控件中:
以下为引用的内容: Dim dso As New XMLDSOControl Dim doc As IXMLDOMDocument Set doc = dso.XMLDocument doc.Load ("d:\test.xml")
用下面的代码将 DSO 映射到应用 DataAdapter 的新记录集对象中:
以下为引用的内容: Dim da As New DataAdapter Set da.Object = dso Dim rs As New ADODB.Recordset Set rs.DataSource = da
拜访数据:
MsgBox rs.Fields("name").Value
成果显示字符串“Mark Hanson”
如何在 Java 中应用 XML DOM?
必需已经安装 MSXML.DLL 的 IE5 版本。在 Visual J 6.0 中,从项目菜单选择添加 COM 包装程序,然后从 COM 对象列表中选择“Microsoft XML 1.0”。该把持将把所需的 Java 包装程序结构到称为“msxml”的新软件包中。这些预先结构的 Java 包装程序也可以下载。类可以按如下方法应用:
以下为引用的内容: import com.ms.com.*; import msxml.*; public class Class1 { public static void main (String[] args) { DOMDocument doc = new DOMDocument(); doc.load(new Variant("file://d:/samples/ot.xml")); System.out.println("Loaded " doc.getDocumentElement().getNodeName()); } }
代码示例将从 sun religion 示例中加载 3.8MB 测试文件“ot.xml”。Variant 类用于包装 Win32 VARIANT 基础类型。
由于在每次检索节点时实际上都获得了新的包装程序,因此不能在节点上应用指针比拟。因此,不要应用下面的代码,
以下为引用的内容: IXMLDOMNode root1 = doc.getDocumentElement(); IXMLDOMNode root2 = doc.getDocumentElement(); if (root1 == root2)...
而要应用下面的代码:
if (ComLib.isEqualUnknown(root1, root2)) ....
.class 包装程序的总大小大约为 160KB。但是,为了与 W3C 规范完整符合,应当只应用 IXMLDOM* 包装程序。下面的类是旧的 IE 4.0 XML 接口,可以从 msxml 文件夹中删除它们:
以下为引用的内容: IXMLAttribute*, IXMLDocument*, XMLDocument* IXMLElement*, IXMLError*,
推荐阅读
本文详细探讨了 PyQt5 中 QTextEdit 组件在 Python 多功能 GUI 库中的应用与实现。PyQt5 是 Qt 框架的 Python 绑定,提供了超过 620 个类和 6000 个函数及方法,广泛应用于跨平台应用程序开发。QTextEdit 作为其中的重要组件,支持丰富的文本编辑功能,如富文本格式、文本高亮和自定义样式等。PyQt5 的流行性不仅在于其强大的功能,还在于其易用性和灵活性,使其成为开发复杂用户界面的理想选择。 ...
[详细]
蜡笔小新 2024-10-28 23:56:36
本文详细介绍了 Sublime Text 3 在 2021 年的激活密钥及其在线激活方法。用户可以通过提供的链接访问云海天教程,获取更多详细的激活码信息和操作步骤。此外,文章还提供了安全可靠的激活方案,帮助用户顺利激活软件,提升编程效率。 ...
[详细]
蜡笔小新 2024-10-26 21:20:12
在Office 7的VBA环境中,使用宏求解时频繁遇到语法错误问题分析与解决方法 ...
[详细]
蜡笔小新 2024-10-28 16:53:03
本文介绍了如何使用Python中的PyQt5和OpenCV库来实现电脑摄像头的图像捕捉功能。通过结合这两个强大的工具,用户可以轻松地打开摄像头并进行实时图像采集和处理。代码示例展示了如何初始化摄像头、捕获图像并将其显示在PyQt5的图形界面中。此外,还提供了详细的步骤说明和代码注释,帮助开发者快速上手并实现相关功能。 ...
[详细]
蜡笔小新 2024-10-27 14:30:10
本文详细介绍了Sublime Text 3的注册密钥获取与激活方法,旨在帮助用户合法且高效地使用这款强大的文本编辑器。文章不仅提供了最新的注册密钥信息,还涵盖了详细的激活步骤,确保用户能够顺利激活软件,享受其带来的便捷与高效。此外,文中还简要对比了Sublime Text 3与其他主流文本编辑器的功能差异,为用户提供更多选择参考。 ...
[详细]
蜡笔小新 2024-10-26 17:56:48
Cookie是一种小型数据文件,由Web服务器生成并存储在用户的浏览器中。当用户再次访问同一服务器时,这些数据可以被重新读取,为用户提供个性化的体验。Cookie在软件测试中具有重要作用,能够帮助测试人员验证会话管理、用户偏好设置等功能的正确性和安全性。通过深入解析Cookie的工作原理及其在不同场景下的应用,本文旨在为软件测试人员提供全面的技术指导。 ...
[详细]
蜡笔小新 2024-10-26 17:36:37
在 CentOS 7 系统中,为了扩展根目录(/)的存储空间,本文详细介绍了从虚拟机硬盘扩容到文件系统调整的全过程。通过具体的操作步骤,成功解决了因空间不足导致的 GNOME 桌面无法正常登录的问题,为用户提供了一套完整的解决方案。 ...
[详细]
蜡笔小新 2024-10-26 16:35:42
通过命令行工具 `virt-install` 配置和安装虚拟机环境。`virt-install` 是一个基于 `libvirt` 虚拟化管理库的命令行工具,用于创建新的虚拟机实例。该工具支持通过串行控制台和 SDL 图形界面进行虚拟机的安装和管理,适用于多种操作系统和虚拟化平台。 ...
[详细]
蜡笔小新 2024-10-26 15:14:39
在数据库管理中,删除特定条目的操作是常见的需求。本文介绍了如何高效且安全地从数据库中移除指定记录,包括相关的 SQL 语句和注意事项,以确保数据完整性和系统稳定性。 ...
[详细]
蜡笔小新 2024-10-26 11:54:26
本文深入探讨了内网渗透技术,特别是PTH、PTT与PTK在域控环境中的应用,并详细介绍了猫盘内网穿透的配置方法。通过这些技术,安全研究人员可以更有效地进行内网渗透测试,解决常见的渗透测试难题。此外,文章还提供了实用的配置示例和操作步骤,帮助读者更好地理解和应用这些技术。 ...
[详细]
蜡笔小新 2024-10-26 10:56:21
在探索 Unity Shaders 的过程中,我逐渐意识到掌握 OpenGL 基础知识的重要性。本文将详细介绍 OpenGL 的核心概念和基本操作,帮助读者从零开始理解这一图形编程技术。通过实例和代码解析,我们将深入探讨如何利用 OpenGL 创建高效的图形应用。无论你是初学者还是有一定经验的开发者,都能从中受益匪浅。 ...
[详细]
蜡笔小新 2024-10-25 19:01:19
如何使用专业软件打开和编辑PHP电影文件? ...
[详细]
蜡笔小新 2024-10-25 18:09:06
近期,一种被称为“1KB快捷方式病毒”(学名为“VBS病毒”)在我公司内迅速蔓延,给系统安全带来了严重威胁。该病毒通过创建同名的恶意快捷方式文件传播,感染后可能导致文件损坏或丢失。为有效应对这一问题,我们正在采取一系列综合防护措施,包括更新防病毒软件、加强员工安全意识培训以及定期备份重要数据,以降低病毒带来的风险。 ...
[详细]
蜡笔小新 2024-10-25 16:49:07
在软件开发领域,有十位编程大师对行业发展产生了深远影响。本文基于国外知名社区的一项评选,通过图文并茂的形式,详细介绍了这十位杰出人物,包括游戏开发先驱John Carmack等,为读者呈现了他们卓越的技术贡献与创新精神。 ...
[详细]
蜡笔小新 2024-10-25 11:23:00
上一篇我们探讨了Golang在多种操作系统中的安装方法,并通过一个经典的HelloWorld示例进行了实践。在此过程中,我们使用了`gorun`命令,该命令能够一次性完成从源代码编译到程序执行的全过程。本文将深入剖析这一流程,揭示其背后的机制。实际上,`gorun`的功能可以视为`go build`与直接运行可执行文件的结合。在Golang的构建过程中,`go build`工具负责将源代码编译成二进制文件,这是生成可执行程序的关键步骤。 ...
[详细]
蜡笔小新 2024-10-24 19:59:53
sjxs198422
这个家伙很懒,什么也没留下!