解析XML时DTD的处理 解析时忽略,生成XML文件时加上
一、解析XML文件时,遇到DTD的定义要怎么办?
下面这段代码是ibatis配置文件,用w3c Dom(其实任意一种解析方式都是这样)都会从http://www.ibatis.com/dtd/sql-map-config-2.dtd
这
个地址找对应的DTD文件进行校验,如果因特网上这个地址不存在的话,就会报 java.net.ConnectException:
Connection timed out: connect 。
Xml代码
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<
sqlMapConfig
>
<
settings
useStatementNamespaces
=
"true"
/>
<!--防止空SqlMap报错 by zhangbo start -->
<
sqlMap
resource
=
"ibatis/project/project-blank.xml"
/>
<
sqlMap
resource
=
"ibatis/project/user-mapping.xml"
/>
</
sqlMapConfig
>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings useStatementNamespaces="true"/>
<!--防止空SqlMap报错 by zhangbo start -->
<sqlMap resource="ibatis/project/project-blank.xml"/>
<sqlMap resource="ibatis/project/user-mapping.xml"/>
</sqlMapConfig>
遇到这种问题可以有两种解析方式,第一把DTD下载的本地,指定从本地加载DTD文件;另一种,干脆忽略DTD文件。
这两种方式都是以重新构建实体的解析器(EntityResolver)为基础解决方案的,重新构建实体解析器而不是使用默认的实体解析器,因为默
认的解析器会根据实际的url进行读取,下面是一段如何来解析上面提到的配置文件,两种方式都有标注
Java代码
public
&nbs
相关文档:
Eclipse IBM开发出的工具
step over 跳到当前程序的下一行(跳过)
step into 跳进去 (跳入)
step return 跳出来 (跳出)
XML
<a classname="cn.itcast.Person"></a>
<?xml version="1.0"?> 空格必须为英文
字符编码
<?xml version="1.0" encoding="UTF-8"?>
CDATA -->Character data &nb ......
你知道XML文件吧?(不知道的GOOGLE去!)那你听说过在XML里书写SQL语句吗?换句话说,把你的项目里所有SQL语句存储在XML文件里,你听说过吗?你做过吗?
我头次听说是小艾告诉我的,我敢肯定他是个这方面的高手,呵呵(赞一个,到此为止!)
那给你展示一下,在XML里书写SQL语句吧
<commands>
<comman ......
web.xml文件对于配置任何Java Web应用都必需的。
(1)配置Struts的ActionServlet
<servlet><!--元素来声明ActionServlet-->
<servlet-name><!--元素:用来定义Servlet的名称-->
<servlet-class><!--元素:用来指定Servlet的完整类名-->
<servlet>
<servlet-name& ......
sql2005中一个xml聚合的例子 收藏
该问题来自论坛提问,演示SQL代码如下
--建立测试环境
set nocount on
create table test(ID varchar(20),NAME varchar(20))
insert into test select '1','aaa'
insert into test select '1','bbb'
insert into test select '1','ccc'
insert into test select '2','ddd'
inser ......
在XML数据中,一些特殊字符必须用转义符号来代替,而回车换行字符就是属于特殊符号。
空格 ( )
Tab (	)
回车 (
)
换行 (
)
下面是一个报表XML数据,里面包括有回车换行字符:
<report>
<NewDataSet>
<Table>
<CustomerID>BLONP</CustomerID& ......