HTML DOM与XML DOM之间的区别与联系
像在座的各位一样,由于自身的兴趣,我对AJAX编程方面的研究是持续不断的。随着该领域的深入,我越来越发觉所谓的浏览器DOM,即HTML DOM,是一个非常值得关注的点。这观点在与同行们交换意见的时候也曾谈到过,就是,我们仍然缺乏具有深度的、规范的DOM Level 1辅助读物,网络上搜索也比较少见。而我们真实的想法在于,我们工作的时候不仅仅是去翻阅工具库/API那些高级的抽象内容。
因此我打算在本文中拨开其中的云雾,如果您乐于用“DOM-脚本”做很多的事,那么接下来课题内容就不容错过了。内容的主题便是,为什么开发者要认为“DOM Level 1规范的架构”是至关重要的,其突出的重要性在哪里等等,以及还有HTML DOM和XML之间微妙的区别,和内在的联系。
W3C所制订的DOM Level分为两大模块:Core和HTML。第一个大模块是Core核心,W3C规范是这样描述Core的:
“满足软件开发者和Web脚本编写者,访问和操控产品项目中包含的可解析的HTML和XML内容。”
"sufficicent to allow software developers and web script authora to access and mainipulate parsed HTML and XML content inside conforming products."
第二个HTML模块,其描述为:
“HTML之中特定元素的功能,和恰到好处的、易用的、针对常见性任务的HTML文档操作机制。”
"functionality that depends on specific elements defined in HTML"
同时HTML模块的意义也在于,解决了向后兼容的问题,这在当今符合DOM Level 1的浏览器中已经可以提供适应的解决方案。
按照这样的说法,如果您仍然不能理解上述的要义,我们则可以这样认为,HTML文档可以使用Core API和HTML API两者;而XML文档只能使用Core API。换句话说,HTML与XML重叠的部分有Core API,而HTML API,顾名思义,就是不能共享,只供HTML文档所使用。
理解DOM Level 1 Core
理解DOM Level 1 HTML
小结
通过文本,开发者应该明白到,HTML DOM与XML DOM之间,既有区别,又有联系。一般而言,除了上述比较外,HTML是可以允许不Well-Form的,XML就不行。
相关文档:
一个C# xml 序列化错误
事发现场:
xml序列化的数据中存储的节点数据是
<Module>536870912</Module> (xml文件中)
对应的类属性是
public short Module { get; set; } (C#类中)
序列化的代码:
public static FMDSTimeSeriesDefinitio ......
按照名为"mydomain1.com"的 DomainName
属性对以下 XML 数据执行不区分大小写的搜索
<?xml version="1.0" ?>
<Domains>
<DomainName>Mydomain1.COM</DomainName>
</Domains>
MSXML 3.0 中 translate
的语法如下:
oXML.setProperty "SelectionLanguage&q ......
转贴地址:http://java.chinaitlab.com/advance/755393.html
现象描述:JDom输出Xml文件,当使用字符编码GBK时正常,而输出UTF-8时乱码。
完美的解决方法从辟谣开始:
1)JDOM是否生成UTF-8的文件与Format是否设置无关,只有输出其他字符编码才需要设置,见下面的注释。
& ......
已知有一个XML文件(bookstore.xml)如下:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price& ......
USE Test
--Create 2 tables as an example
CREATE TABLE ExampleTable
(
[ID] int PRIMARY KEY
,[Name] nvarchar(256)
)
CREATE TABLE ExampleTable2
(
[ID] int PRIMARY KEY
,[Name] nvarchar(256)
)
----way1
SELECT *
from sys.objects [table]
WHERE
[Name] LIKE 'ExampleTable%'
FOR XML AUTO, ROOT ......