java xml 写了一段代码 属性里的默认值出不来

dtd文件<?xmlversion="1.0"encoding="GBK"?><!ELEMENT书籍列表(计算机书籍)*><!ELEMENT计算机书籍((书名,价格)+,... dtd文件

<?xml version="1.0" encoding="GBK"?>
<!ELEMENT 书籍列表 (计算机书籍)* >
<!ELEMENT 计算机书籍 ((书名, 价格)+, 作者+, 性别?, (电话|地址), 简介, hr) >
<!ELEMENT 书名 (#PCDATA) >
<!ELEMENT 价格 (#PCDATA) >
<!ELEMENT 作者 (#PCDATA) >
<!ELEMENT 电话 (#PCDATA) >
<!ELEMENT 地址 (#PCDATA) >
<!ELEMENT 性别 (#PCDATA) >
<!ELEMENT 简介 (#PCDATA) >
<!ELEMENT hr EMPTY>
<!ATTLIST 作者
性别 (男 | 女) "男"
年龄 CDATA #IMPLIED
联系电话 CDATA #REQUIRED
职务 CDATA #FIXED "作家"
个人爱好 CDATA "聊天"
>

xml文件

<?xml version="1.0" encoding="gbk" ?>
<!DOCTYPE 书籍列表 SYSTEM "book.dtd">
<书籍列表>
<计算机书籍>
<书名>db2调优</书名>
<价格>53.00</价格>
<书名>db2大全</书名>
<价格>58.00</价格>
<作者 联系电话="12343" 个人爱好="数据库">牛新庄</作者>
<电话>1122</电话>
<简介><![CDATA[一本<XML>好书]]></简介>
<hr/>
</计算机书籍>
<计算机书籍>
<书名>xml前世今生</书名>
<价格>55.00</价格>
<作者 联系电话="34343434" >汤雨祥</作者>
<作者 联系电话="343434344">鲁迅</作者>
<电话>1122434</电话>
<简介><![CDATA[一本<XML>好书]]></简介>
<hr></hr>
</计算机书籍>
<计算机书籍>
<书名>thinking in java</书名>
<价格>45.00</价格>
<作者 联系电话="3434344">陶为</作者>
<性别>男</性别>
<地址>南京</地址>
<简介>java编程思想</简介>
<hr></hr>
</计算机书籍>
</书籍列表>

浏览器运行结果

dtd里写的所有的属性的默认值 都不显示 怎么回事
2张图片
”男“ 和”简介“ 后面的不是| 是鼠标
展开
 我来答
actonst
2013-12-05 · TA获得超过1.8万个赞
知道大有可为答主
回答量:8184
采纳率:80%
帮助的人:5212万
展开全部

这是XML方面的问题,其实和java没什么关系吧。


首先说,浏览器里只是显示XML的代码,XML怎么写就怎么显示,不会自动添上DTD里面规定的默认值。

其次,DTD里面的默认值是为了XML书写简便,在XML文件中缺省时,解析器也可以找到其默认值。解析器指的是XMLDOM,而不是浏览器。


给你个例子吧,还是你的DTD和XML,我在C#里面用MSXMLDOM解析,获取第一本计算机书籍的作者属性中的性别和职务,虽然XML中没有写明,但是我依然得到了默认值:


上面是C#代码,下面是运行时得到的变量值。我不写java,只能给你看C#程序。

雷家二少新
2013-12-05
知道答主
回答量:45
采纳率:0%
帮助的人:8.7万
展开全部
上次我也有这个问题,搞了半天也没有解决,最后我删了从新写了一下就好了,我也不知道为什么。。抱歉!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式