查看“核心技术Ⅱ:XML”的源代码
←
核心技术Ⅱ:XML
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:JavaCore]] == XML概述 == XML 是一种非常有用的描述结构化信息的技术。 “'''Properties'''”类:在单个方法调用中读入这样的“'''属性文件'''”(property file): # 属性文件:用于描述程序配置;包含了一组“名/值”对: #: <syntaxhighlight lang="properties"> fontname=Times Roman fontsize=l2 windowsize=400 200 co1or=O 5O 100 </syntaxhighlight> 但是: # 属性文件采用的是一种单一的平面层次结构;所以常常会出现这种情况: #: <syntaxhighlight lang="properties"> title.fontname=Helvetica title.fontsize=36 body.fontname=Times Roman body.fontsize=12 </syntaxhighlight> # 属性文件要求键是唯一的;所以保存序列值需要: #: <syntaxhighlight lang="properties"> menu.item.l=Times Roman menu.item.2=Helvetica menu.item.3=Goudy Old Style </syntaxhighlight> '''XML''' 和'''HTML''' 格式是古老的标准通用标记语言(Standard Generalized Markup Language, '''SGML''') 的衍生语言。 * XML 格式能够表达层次结构,并且重复的元素不会被曲解: <syntaxhighlight lang="xml"> <configuration> <title> <font> <name>Helvetica</name> <Size>36</size> </font> </title> <body> <font> <name>Times Roman</name> <Size>12</size> </font> </body> <window> <width>400</width> <height>200</height> </window> <color> <red>O</red> <green>50</green> <blue> 100</blue> </color> <menu> <item>Times Roman</item> <item>Helvetica</item> <item>Goudy 01d Style</item> </menu> </configuration> </syntaxhighlight> '''XML''' 和'''HTML'''的区别: {| class="wikitable" ! XML !! HTML |- | 大小写敏感 如:<nowiki><H1></nowiki> 和<nowiki><hl></nowiki> 是不同的XML 标签 | 不敏感 |- | 结束标签绝对不能省略 | 如果从上下文中可以分清哪里是段落或列表项的结尾,那么结束标签(如<nowiki></p></nowiki>或<nowiki></li></nowiki>) 就可以省略 |- | 只有单个标签而没有相对应的结束标签的元素必须以“/”结尾 如:<nowiki><img src="coffeecup.png"/ ></nowiki> | |- | 属性值必须用引号括起来 如:<nowiki><applet code="MyApplet.class" width="300" height="300"></nowiki> | 引号是可有可无的 如:<nowiki><applet code="MyApplet.class" width=300 height=300></nowiki> |- | 所有属性必须都有属性值 如:<nowiki><input type="radio" name="1anguage" value="Java" checked="checked"></nowiki> | 属性名可以没有值 如:<nowiki><input type="radio" name="1anguage" value="Java" checked></nowiki> |} === XML 文档的结构 === # XML 文档应当以一个'''文档头'''开始: #: <syntaxhighlight lang="xml"> <?xml version="l.O"?> 或 <?xml version="l.O" encoding="UTF-8"?> </syntaxhighlight> # 文档头之后通常是'''文档类型定义'''(Docun1ent Type Definition, DTD): #: <syntaxhighlight lang="xml"> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//OTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> </syntaxhighlight> # XML 文档的正文包含'''根元素''',根元素包含'''其他元素''': #: <syntaxhighlight lang="xml"> <?xml version="l.O"?> <!DOCTYPE configuration ... > <configuration> <title> <font> <name>Helvetica</name> <Size>36</size> </font> </title> ... </configuration> </syntaxhighlight> ## 元素可以有子元素(child element )、文本或两者皆有; ## 在设计XML 文档结构时,应避免混合式内容(mixed content),以简化解析过程: ##: <syntaxhighlight lang="xml"> <font> Helvetica <Size>36</size> </font> </syntaxhighlight> ## XML元素可以包含属性,但属性的灵活性要差很多; ##* “属性只应该用来修改值的解释,而不是用来指定值。” ##* “HTML 中,凡是不显示在网页上的都是属性。” #: <syntaxhighlight lang="xml"> <font name="Helvetica" size="36 pt"/> <font> <name>Helvetica</name> <Size unit="pt">36</size> </font> </syntaxhighlight> XML中的其他一些标记: # '''字符引用'''(character reference):形式是“&#”十进制值;或“&#x”十六进制值; # '''实体引用'''(entity reference):形式是“&name”; #: <syntaxhighlight lang="xml"> 下面这些实体引用: < > & " ' 都有预定义的含义: 小于、大于、&、引号、省略号等字符。 </syntaxhighlight> # '''CDATA部分'''(CDATA Section):用“<![CDATA[”和“]]>”来限定其界限; #* 它们是字符数据的一种特殊形式。可以使用它们来襄括那些含有“<”、“>”、“&”之类字符的字符串,而不必将它们解释为标记; #* CDATA 部分不能包含字符串“]]>”; #: <syntaxhighlight lang="xml"> <![CDATA[< & > are my favorite delimiters]]> </syntaxhighlight> # '''处理指令'''(processing instruction):是那些专门在处理XML 文档的应用程序中使用的指令,它们由“<?”和“?>”来限定其界限: #: <syntaxhighlight lang="xml"> <?xml-stylesheet href="mystyle.css" type="text/css"?> 每个XML 都以一个处理指令开头: <?xml version="l.O"?> </syntaxhighlight> # '''注释'''(comment):用“<!-”和“-->”限定其界限: #* 注释不应该含有字符串“--”; #: <syntaxhighlight lang="xml"> <!-- This is a comment. --> </syntaxhighlight> == 解析XML文档 == == 验证XML文档 == === 文档类型定义 === === XML Schema === === 实用示例 === == 使用“XPath”来定位信息 == == 使用命名空间 == == 流机制解析器 == === 使用“SAX”解析器 === === 使用“StAX”解析器 === == 生成XML文档 == === 不带命名空间的文档 === === 带命名空间的文档 === === 写出文档 === === 示例:生成SVG 文件 === === 使用StAX 写出XML文档 === == XSL 转换 ==
返回至“
核心技术Ⅱ:XML
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息