XML - 数据交换管理/NetBeans
NetBeans
- 启动 NetBeans
- 通过打开帮助 > 帮助内容并阅读入门中的资料来熟悉 IDE
- 通过文件 > 新建项目..(Ctrl+Shift+N) 创建一个新项目
- 在“选择一个项目”下,在类别中选择:通用
- 在项目中选择:Java 应用程序
- 按下一步
- 适当地命名项目名称(例如,xml1)
- 选中“设置为主项目”并取消选中“创建主类”
- 保存到适当的位置
- 按完成
- 从项目窗口中右键单击刚刚创建的项目(例如,xml1)
- 通过新建 > 文件/文件夹 > XML > XML 文档创建新文件
- 命名文件(例如,city)
- 按下一步
- 选择“格式良好的文档”
- 按完成
- 您应该看到以下 XML 文件框架
<?xml version="1.0" encoding="UTF-8"?> <!-- Document : city.xml Created on : December 26, 2005, 11:18 AM Author : rtw Description: Purpose of the document follows. --> <root> </root>
- 目标是创建一个简单的标记文件,而不是 XML 文件,因此用表 1 中的代码行替换框架 XML 文件中由
<root>
和</root>
分隔的部分。更改后,文件应如下所示<?xml version="1.0" encoding="UTF-8"?> <!-- Document : city.xml Created on : December 26, 2005, 11:18 AM Author : rtw Description: Purpose of the document follows. --> <city> <cityname>Athens</cityname> <state>GA</state> <description> Home of the University of Georgia</description> <population>100,000</population> <location>Located about 60 miles Northeast of Atlanta</location> <latitude>33 57' 39"N</latitude> <longitude>83 22' 42" W</longitude> </city>
- 通过单击文档列表上方 XML 工具栏上的单个绿色向下箭头来检查标记文件是否格式良好。它应该通过检查。或者,使用 Alt+F9(Windows)或 Ctrl+F9(Mac)。
- 删除标签
</city>
并再次检查文件。这次您应该收到一个错误,指示缺少结束标签。“XML 文档结构必须在同一个实体内开始和结束。”,后面是括号中的行号(错误发生的位置)应该以蓝色显示并带下划线。
NetBeans 是一款开源 IDE,它包含一个 XML 编辑器。
- 转到文件 -> 新建文件 -> XML -> XML 文档。
- 将您的文件保存为“city”
- 选择 XML 模式约束文档作为文档类型。
- 接下来,指定您的模式位置(转到浏览,然后选择刚刚创建的模式)和根元素名称(tourGuide)。
- 将上面的代码复制粘贴到 NetBeans 编辑器中并保存。
- 检查 XML 文档以确保它格式良好 (ALT-F9)。
要验证 XML 文档
- 右键单击文档的节点并选择验证 XML。
如果 XML 文件 city.xml 符合提供的 XML 模式 city.xsd,您的输出窗口应该如下所示
在 NetBeans 中打开此文件 city.xml。
Summary: Being a file which contains XML code and syntax, the XML document is an entity of neatly organized elements and subelements. |
与元素类型“Listing”关联的属性“xsi:noNamespaceSchemaLocation”的前缀“xsi”未绑定。
-Caused because line "xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'" is missing from the top of the document.
cvc-elt.1:找不到元素“Listing”的声明。
-Caused due to lack of extension(.xsd) at the end of the schema name.
cvc-complex-type.2.4.a:从元素“MuseumName”开始找到无效内容。预期为“{“”:Museum}”之一。[5]
-Caused due to lack of naming at the beginning and end of the variable naming section.
元素类型“MuseumName”必须以匹配的结束标签“</MuseumName>”终止。
-Could be caused by a missing "/" in the end tag of one of the variables
任何 XML 文档,包括 XML 模式和 XML 样式表文档,都可以检查以确保它们是“格式良好的”。如果 XML 文档符合第 1 章中概述的 XML 语法规则,则称其为格式良好的,例如,必须恰好有一个根元素,每个开始标签都必须有一个结束标签。可以使用 XML 编辑器软件(在本例中为 NetBeans)检查 XML 文档的格式良好性。如果检测到任何错误,则会在输出窗口中列出错误以及行号。此位置不一定是错误发生的代码行。双击任何错误消息,可以转到检测到错误的 XML 文档中的代码行。
使用 NetBeans 创建一个新项目
- 转到文件 -> 新建项目
使用 NetBeans 创建上面的 XML 模式
- 转到文件 -> 新建文件 -> XML -> XML 模式。
- 将您的文件保存为“city”(这会为文件赋予扩展名 .xsd)。
- 将上面的模式复制粘贴到 city.xsd 中并保存
要检查 XML 文档以查看它是否格式良好
- 右键单击文档的节点(在文件下,city.xsd)并选择检查 XML 模式或按 Alt-F9。
如果 XML 模式 city.xsd 格式良好,您的输出窗口应该如下所示:
Summary: The XML schema shows the structure and elements of an XML document. |
元素类型“xsd:element”必须后跟属性规范、“>”或“/>”。
-Caused by lack of ">" or "/>" symbol at the end of either the specified line or the line there after.
与元素类型“xsd:complexType”关联的属性“name”的值不能包含“<”字符。
-Often caused by lack of closing quotation around the variable name on either the specified line or the line there after.
src-resolve.4.2:解析组件“xsd:strin”时出错…
-Caused by invalid "type", most likely misspelled. Can be for any "type", not just "string."
元素类型“xsd:sequence”必须以匹配的结束标签“</xsd:sequence>”终止。
-Caused because </xsd:sequence> is not found in order to close the statement. -Also caused because the closing statements are out of order as they at the beginning of the Schema.
使用 NetBeans 创建上面的 XML 样式表
- 转到文件 -> 新建文件 -> XML -> XSL 样式表
- 将您的文件保存为“city”
- 将上面的代码复制粘贴到 NetBeans 编辑器中并保存。
- 检查样式表以确保它格式良好 (ALT-F9)。
注意:city 示例文件(city.xsd、city.xml 和 city.xsl)可以使用文本编辑器创建,结果在兼容的 Web 浏览器(例如 Mozilla 1.6)中正确显示。您需要将所有文件存储在同一个目录中,并在 city.xml 的第 1 行之后插入以下代码行:<?xml-stylesheet href="city.xsl" type="text/xsl"?>
这将 XSL 样式表与包含城市数据的 XML 文件关联起来。此外,如果您使用的是 Netbeans,请务必删除开头类似于 xmlns='http://xml.netbeans.org/examples/targetNS' 的 xmlns 行,否则它不会显示所有数据。
元素类型“xsl:text”必须以匹配的结束标签“</xsl:text>”终止。
-Caused by either lack of end-tag or misspelling of the end- tag.
元素类型“xsl:for-each”必须以匹配的结束标签“</xsl:for-each>”终止。
-Caused due to either lack of end-tag for the specified tag or end-tags placed in the wrong order.